2014-09-03 2 views
0

Я пишу код для отправки запросов на получение списка URL-адресов. Теперь некоторые запросы на получение не работают, а не возвращают HTTP-код ответа 200. Но когда я нахожу 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

Какой код статуса HTTP вы получаете в ответ, когда ваш код выдает запрос GET? – Bobulous

+0

Какие коды ответов возвращаются, если не 200s? Также опубликуйте вывод отладки своей программы. –

+0

Вы пробовали использовать этот URL-адрес в своем браузере? Угадайте, какой код будет возвращен? –

ответ

0

Я думаю, что это будет работать только если вы проверку подлинности в Google с помощью oauth2. Я попытался получить доступ к URL из моего браузера, и я получаю сообщение об ошибке 404.

Возможно, вы пытаетесь получить доступ к фиду, который ограничен вашей учетной записью пользователя.

Используйте Youtube API Client for Java и проверьте samples, чтобы узнать, как аутентифицировать и делать запросы к API Youtube.

Смежные вопросы