我遇到“著名”错误:服务器返回 HTTP 响应代码:URL 为 403。我必须发送很多查询(+-2000)来填充我的数据库。但是,50-100首先工作,然后所有以下触发错误403。我不知道为什么......
这是我的代码:
public static ArrayList<String> querying(String name){
URL url = null;
String inputLine;
ArrayList<String> resultArray = new ArrayList<String>();
BufferedReader in;
try {
url = new URL(s);
} catch (MalformedURLException e) {
e.printStackTrace();
}
try {
HttpURLConnection con = (HttpURLConnection) url.openConnection();
con.addRequestProperty("User-Agent", "Mozilla/4.0");
in = new BufferedReader(new InputStreamReader(con.getInputStream()));
while ((inputLine = in.readLine()) != null) {
...
}
in.close();
con.disconnect();
} catch (IOException e) {
e.printStackTrace();
}
return resultArray;
}
哪里s
是:
"https://www.googleapis.com/freebase/v1/mqlread?query={\"id\":\"/en/"+name+"\", \"name\": null, \"type\":\"/base/popstra/celebrity\",\"/base/popstra/celebrity/friendship\": [{\"participant\": [] }] }".replace(" ", "")
我试图在网上找到有关此错误的一些信息,但尽管我发现了(例如“addRequestProperty”),但它仍然无法正常工作。