最近在做“信息采集”,简单说就是:远程post一个地址,然后获得返回的html,再使用正则过滤出你想要的信息。但是对于象.net中GridView自带的分页没有任何类似page=2的参数,该如何post,以获得某页的html?
如下面这个地址:
http://61.240.36.105/colorring/ringshop.jsp
你如何点那个分页按钮,上面的地址始终不变,他到底post那些参数到服务器,然后再返回具体页的数据?凭空猜想和查看他的html源码都很困难得到。下面咱们的利器就横空出世:HttpWatch
先看介绍:
强大的网页数据分析工具。集成在Internet Explorer浏览器中。只需要选择相应的网站,软件就可以对网站与IE之间的需求回复的通讯情况进行分析并在同一界面显示其相应日志记录。每一个HTTP记录都可以详细的分析其 Cookies、消息头、字符查询等信息。支持HTTPS及分析报告输出为XML、CSV等格式。
下面就开始获得http://61.240.36.105/colorring/ringshop.jsp的分页post到服务器的具体参数:
具体参数如图:
这下参数就全赤裸裸的出来啦,现在你只需post这个地址就可以:
stringappendStr=@"http://61.240.36.105/colorring/ringshop.jsp?$FORMNAME=colorring_ringlist&$parameters=colorring_ringlist!"+num+"!225!20!4489!"+((num-1)*20)+"!"+(((num-1)*20)+20);
其中这个num是个页数。
以下是登录cnblogs的时候具体post到服务器的参数: