我需要有关使用 Jsoup 解析 HTML 的帮助: https://www.sierra.com/clearance~1/women~d~5324/specdataor~gender!women/colorfamily~red/priceor~%2410-%2414dotdot99/3/ .
当我试图解析我得到的任何 HTML 时
java.net.SocketTimeoutException: Read timed out.
对于其他 URL,此代码工作正常。
我该如何解决这个问题?
private void Parsedata(){
try {
String URL = "https://www.sierra.com/clearance~1/women~d~5324/specdataor~gender!women/colorfamily~red/priceor~%2410-%2414dotdot99/3/";
System.out.println(getPage(URL));
} catch (IOException e) {
e.printStackTrace();
}
}
private static Document getPage(String URL) throws IOException {
Document page = Jsoup.connect(URL).timeout(0).execute().parse();
return page;
}
最佳答案
您尝试连接的页面需要有效的用户代理。您可以使用 Connection.userAgent()
来设置它。例如,您可以使用当前的 Chrome 版本:
private static Document getPage(String URL) throws IOException {
return Jsoup.connect(URL)
.userAgent("Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/70.0.3538.77 Safari/537.36")
.timeout(10_000).execute().parse();
}
关于java - 从网站解析 JSON 时出现 SocketTimeoutException,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56839546/