copyURLToFile() throwing java.net.SocketException



当我运行以下代码时:

try {
URL url = new URL("https://www1.nseindia.com/live_market/dynaContent/live_watch/get_quote/GetQuote.jsp?symbol=HUDCO&series=N2");
File f = new File("/Users/Vaibhav/Desktop/nseurltest.txt");
FileUtils.copyURLToFile(url, f);
} catch (Exception e) {
e.printStackTrace();
}

我得到一个java.net.SocketException:操作在大约30秒后超时。大约一个月前,相同的代码仍在运行而没有错误。突然出现此异常的原因可能是什么,我该如何解决它?

此代码的目的是最终从 URL 复制到的.txt中提取 HUDCO N2 债券的最新市场价格。如果有另一种简单的方法可以从URL中提取市场价格,我很想听听。

我猜您尝试访问的网站会阻止未知连接。但是你可以用jsoup库来克服这个问题。使用以下代码,我设法下载了链接的内容。

Response response = Jsoup.connect(
"https://www1.nseindia.com/live_market/dynaContent/live_watch/get_quote/GetQuote.jsp?symbol=HUDCO&series=N2")
.ignoreContentType(true)
.userAgent(
"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/70.0.3538.77 Safari/537.36")
.referrer("http://www.google.com").timeout(30000).followRedirects(true).execute();
Document doc = response.parse();

JSOUP依赖:

<!-- https://mvnrepository.com/artifact/org.jsoup/jsoup -->
<dependency>
<groupId>org.jsoup</groupId>
<artifactId>jsoup</artifactId>
<version>1.11.3</version>
</dependency>

您可以更改用户代理。我把chrome 70版本的用户代理字符串 以下链接中有很多选项。 http://www.useragentstring.com/pages/useragentstring.php

相关内容

  • 没有找到相关文章

最新更新