如何修复 urlConnection.getResponseCode = 403

How to fix urlConnection.getResponseCode = 403

这是我的代码:

urlConnection = (HttpURLConnection) url.openConnection();
                urlConnection.setRequestMethod("GET");
                urlConnection.connect();    
                    int status = urlConnection.getResponseCode();
                    // Read the input stream into a String
                    InputStream inputStream = urlConnection.getInputStream();
                    StringBuffer buffer = new StringBuffer();
                    if (inputStream == null) {
                        return;
                    }
                    reader = new BufferedReader(new InputStreamReader(inputStream));

这是我的例子 JSON:

[{"Id":1,"Name":"Алупка","RegionId":1},{"Id":2,"Name":"Алушта","RegionId":1},{"Id":3,"Name":"Армянськ","RegionId":1}]

这里是URL:http://donor.ua/api/cities?sign=9u1AARsgKybup3vz9CaQnw==ivbCaKmrWpgz

但是urlConnection.getResponseCode()还是returns“403”。

请告诉我如何解决这个问题! 提前致谢!

当我尝试加载您在问题中提供的 URL 时,它说需要 HTTPS。使用 Firebug,我确认在这种情况下服务器实际上返回了 403。按预期将协议从 http 更改为 https returns JSON。因此,在您的代码中,当您创建 URL 对象时,请确保您指定的 URL 以 https:// 而不是 http://

开头

错误可能是由于您没有发送 "User-Agent"。

导致服务器拒绝连接

添加此行以修复它:

connection.addRequestProperty("User-Agent", "Mozilla/5.0 (Windows NT 6.1; WOW64; rv:25.0) Gecko/20100101 Firefox/25.0");