大概是16年写出的巨潮网站信息的爬虫程序。在昨天的程序日志里显示已经不能正常请求到数据了。
程序报错是:
java.net.ProtocolException: Server redirected too many times (20)
地址被重定向了20次,程序直接退出。
后来查到论坛中有人提到:
“多半是重定向又回到原来的页面了. ”
网站做了一点反爬处理?
之前的请求如下:
POST
http://www.cninfo.com.cn/cninfo-new/announcement/query
POST参数:
column=szse&&columnTitle=历史公告查询&pageNum=1&pageSize=30&tabName=fulltext&seDate=2018-01-10 ~ 2018-01-11
Content-Type:application/x-www-form-urlencoded
程序最开始写的时候没有写header信息,在原来的url请求函数中设置了UA属性
conn.setRequestProperty("User-Agent", "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/61.0.3163.100 Safari/537.36");
程序再跑起来,还是最初的错误。到在线POST工具上去发送一次请求看什么情况:
提交后结果:
第一次正常返回了JSON(没有截到图),
第二次:
已经不是UA的问题了。
之后看到http://blog.csdn.net/qq_34670293/article/details/78041059 给出的解决方案
在请求之前加上一行代码
CookieHandler.setDefault(new CookieManager(null, CookiePolicy.ACCEPT_ALL));
请求成功了。
具体类使用方法和作用还在研究。