为什么我不能读取一些https页面与java代码?



我编写了如下所示的java程序如何使用java读取https页面内容?但是对于某些站点,代码不起作用。

我得到错误服务器返回HTTP响应代码:403 URL: https://research.investors.com/stock-quotes/nyse-sailpoint-tech-holdings-sail.htm

它适用于Url = "https://maven.apache.org/guides/mini/guide-repository-ssl.html";

有人能帮帮我吗?

403 HTTP状态代表"禁止",很可能investors.com会检查您的请求标头并拒绝该资源。

尝试使用站点可能接受的User-Agent修改请求头。

403年禁止请求包含有效数据,并且被服务器理解,但是服务器拒绝操作。这可能是由于用户没有资源的必要权限,或者需要某种类型的帐户,或者尝试禁止的操作(例如,在只允许一个记录的情况下创建重复记录)。如果请求通过回答WWW-Authenticate报头字段质询提供身份验证,但服务器不接受该身份验证,则通常使用此代码。请求不能重复。

可能是网站,你想把刮掉,只是限制请求像你的(我的意思是请求,不是从浏览器发出的)。

但是你可以试试Selenium。

好了,我解决了。我使用con.setRequestProperty和设置"User-Agent", "Accept", "Content-Type", "Accept-Language"

谢谢。

最新更新