首页 > 解决方案 > 为什么要重置连接?

问题描述

我正在尝试使用 JSoup 连接到一个 url。它适用于一个网址,但对于另一个我得到

java.net.SocketException: Connection reset

这是有效的代码:

Document doc = Jsoup.connect("https://finance.yahoo.com/quote/IBM/key-statistics?p=IBM").get();

这是生成错误的代码:

Document doc = Jsoup.connect("https://www.nasdaq.com/dividend-stocks/dividend-calendar.aspx?date=2018-Aug-17").get();

如果您将这些网址剪切并粘贴到浏览器中,它们就可以正常工作。建议?

标签: javajsoup

解决方案


感谢下面评论中的 Pshemo,这是答案:

    String address = "https://www.nasdaq.com/dividend-stocks/dividend-calendar.aspx?date=" +date;
    //Note: "userAgent required for this site to prevent java.net.SocketException: Connection reset" error
    String usrAgent = "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/67.0.3396.99 Safari/537.36";
    Document doc = Jsoup.connect(address).userAgent(usrAgent).get();

推荐阅读