copyURLToFile()引发java.net.SocketException

copyURLToFile()引发java.net.SocketException,java,apache-commons-io,Java,Apache Commons Io,当我运行以下代码时: 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,

当我运行以下代码时:

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();
j组依赖性:

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

org.jsoup

请进行堆栈跟踪。谢谢!!这解决了我的问题。我刚刚用您的第一个代码片段替换了我的代码,导入了org.jsoup.Connection.Response、org.jsoup.jsoup和org.jsoup.nodes.Document,并用doc.body().text()从文档中提取了文本。我对第二段代码感到困惑,我该怎么处理它呢?别担心。我是为maven dependecy添加的。我正在使用maven:)嗨,您的答案中的代码出现了一个新问题:我现在得到一个“java.net.SocketTimeoutException:Read timeout”。为什么会发生这种情况?有什么办法可以解决吗?@Vebby你能在浏览器中打开url吗?是的,我能,在我使用的两种浏览器中:Chrome 83.0.4103.61和我Mac上的Firefox 76.0.1(Catalina 10.15.4)。该网站有一个更新版本,这是等效的URL:。但是,在代码中插入此URL会产生相同的错误。