java - 为什么要重置连接?
问题描述
我正在尝试使用 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();
如果您将这些网址剪切并粘贴到浏览器中,它们就可以正常工作。建议?
解决方案
感谢下面评论中的 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();
推荐阅读
- debian - i3wm:如何使用 urxvt 为终端设置真正的透明度?
- .net - 可以支持服务结构的 Microsoft Orleans 的发布日期是什么时候?
- qr-code - MRTK:如何从未与 HoloLens 配对的 Android 设备修复 SpectatorView?(二维码)
- sql - 比较 power bi 参数中的日期
- intellij-idea - 错误:在 IntelliJ 上创建 JavaFX 项目时找不到或加载主类 sample.Main
- c++ - MATLAB 中的可变大小数组:如何从 MATLAB 生成可变大小数组?
- javascript - jwt.verify() 在过期时间为 24h 时返回 jwt expired
- c++ - 为什么将 std::make_pair 传递给 map::insert 不起作用?
- c - C 主函数应该返回什么?EXIT_SUCCESS 还是 0?
- android - Google 登录在 iOS 上不返回姓名、图片、名字、姓氏,但在 Android 上有效