我正在编写代码来发送URL列表的get请求。现在,一些get请求失败并且没有返回HTTP响应代码200.但是当我在浏览器上点击get请求的URL时,我能够下载XML文件(这应该是什么)。我的第一个问题是为什么会发生这种情况,当我从我的代码发送请求时,请求失败但是否则不会失败。
我的第二个问题是如何解决失败的获取请求的问题。
请在下面找到我在代码中编写的代码示例。
URL obj = new URL(url);
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
// optional default is GET
con.setRequestMethod("GET");
//add request header
con.setRequestProperty("User-Agent", USER_AGENT);
int responseCode = con.getResponseCode();
System.out.println("\nSending 'GET' request to URL : " + url);
System.out.println("Response Code : " + responseCode);
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
例外是:
Update:
Response Code : 404
java.io.FileNotFoundException: http://gdata.youtube.com/feeds/api/videos/gzakooXyvuA
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(Unknown Source)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Source)
at java.lang.reflect.Constructor.newInstance(Unknown Source)
at sun.net.www.protocol.http.HttpURLConnection$6.run(Unknown Source)
at sun.net.www.protocol.http.HttpURLConnection$6.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at sun.net.www.protocol.http.HttpURLConnection.getChainedException(Unknown Source)
at sun.net.www.protocol.http.HttpURLConnection.getInputStream(Unknown Source)
at ReadMyExcel.sendGet(ReadMyExcel.java:133)
at ReadMyExcel.readExcel(ReadMyExcel.java:82)
at ReadMyExcel.main(ReadMyExcel.java:99)
答案 0 :(得分:0)
我认为这只有在您使用OAuth2向Google进行身份验证时才有效。我尝试从浏览器访问网址,我收到相同的404错误消息。
您可能正在尝试访问仅限于您的用户帐户的Feed。
使用Youtube API Client for Java并查看samples,了解如何对Youtube API进行身份验证和请求。