2017-08-08 54 views
1

我試圖連接並從here檢索頁面標題。如果我從鏈接中刪除「.com」後面的所有內容,代碼工作正常。下面的代碼不起作用:爪哇 - Jsoup HTTP錯誤獲取URL。狀態= 405

try { 
    Document doc = Jsoup.connect("https://news.google.com/news/local/section/geo/Sammamish,%20WA%2098075,%20United%20States/Sammamish,%20Washington?ned=us&hl=en") 
     .data("query", "Java") 
     .userAgent("Chrome") 
     .cookie("auth", "token") 
     .timeout(3000) 
     .post(); 
    String title = doc.title(); 
    Log.d("hellomate", title); 
} 
catch (IOException e) { 
    Log.d("hellomatee", e.toString()); 
} 

如果代碼工作,標題返回的應該是「連頓華盛頓 - 谷歌新聞」。 該錯誤代碼返回是: 「org.jsoup.HttpStatusException:HTTP錯誤URL抓取狀態= 405,URL = https://news.google.com/news/local/section/geo/Sammamish,%20WA%2098075,%20United%20States/Sammamish,%20Washington?ned=us&hl=en。」

是什麼狀態405是什麼意思? Jsoup是否不允許我使用的那種網址?

謝謝。

+0

入住此問:https://www.google.de/url?sa=t&source = web&rct = j&url = https://stackoverflow.com/questions/41487157/jsoup-http-error-fetching-url-status-405&ved=0ahUKEwiT6sf2s8jVAhWMOxQKHWaSDmMQFggfMAE&usg=AFQjCNHU8QpL9rsnlQ2naxyoJPH-FQcuiA – Thomas

+0

405是「方法不允許」,這意味着您的POST不是允許此資源(URL)。嘗試獲得(),如果你只是想獲得的東西 – Andreas

回答

0

狀態405是HTTP錯誤代碼,意思是「不允許的方法」。你可以在它身上找到here從微軟的一些文件。作爲@Andreas說,你可以通過改變到.get();解決這個問題。

如果你看一下例子下the jsoup docs,它顯示了你你會怎麼可能要構建你的請求:

Jsoup.connect("http://en.wikipedia.org/").get(); 
+0

感謝。改爲.get()完成了這項工作 –