从一个 HTTP 请求找出必需的最少参数

这个主要用于模拟浏览器发请求的时候,应用场景是抓其他网站的一个页面:我用 firebug 等工具抓到了一个请求,现在要用程序去模拟。

直接使用这个请求可能比较大,我想问现在有没有这样的工具,能帮我尝试出必需的最少的参数。因为目标网站没有 API ,我也不知道各个参数的意义,我是要自己摸索出哪些参数是必要的,哪些是不必要的。

比如原始的请求可能是:

curl -H 'Cookie: session=1' -d "a=1&b=2" 'http://www.example.com/'

经测试发现:

  • 不带 b=2 这个参数,结果不变
  • 如果不带 Cookie ,会返回错误页面
  • 不带 a=1 ,也会返回错误页面

因此我们能得到最优的请求:

curl -H 'Cookie: session=1' -d "a=1" 'http://www.example.com/'

参数应该包括:

  • 各种 HTTP Header ,比如 Referer 、 Cookie 、 User-Agent 等
  • URL 中的参数
  • POST 请求中的参数

用户的输入应该有:正确页面中的特征串、错误页面的特征串。或者只需要正确页面的特征串。

虽然自己写一个脚本也不是不可以,不过如果有别人已经写好的东西的话...

阅读 4.1k
1 个回答

这种需求的个性实在太强了——个性强过了一定程度,费尽心思去找就绝对不是个好选择了。

活用Python的URL字符串分析和构造库、requests请求库是个好主意。

相信我,自己搞一个绝对比费尽心思去找(最后还可能不适用),省时间也省精力。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题
宣传栏