【发布时间】:2015-05-09 13:35:32
【问题描述】:
当我在浏览器地址栏中输入网站地址并点击Go时,浏览器会发出如下数据包:
GET / HTTP/1.1
Host: stackoverflow.com
User-Agent: Mozilla/5.0 (Windows NT 6.1; rv:33.0) Gecko/20100101 Firefox/33.0
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate
Cookie: __qca=P0-1436433254-1422702693572; sgt=id=e2dfc663-bf2a-4c13-9387-91db3c901b72; usr=t=5Or7fZxDxUa8&s=xyx0L95dfE61; acct=t=OzuSyto294xCVVgU1B2tOow2C%2bSXqT0m&s=WmMKQ3H9NtZs%2b4%2bfbSnoLretaRnysYju; _ga=GA1.2.1042841397.1422702694
Connection: keep-alive
我使用 BurpSuite tool 捕获了上述数据包,这是对 StackOverflow.com 的请求
现在我想知道有没有办法用 python 自动执行这个请求?
换句话说,我想用 Python 脚本发送上述数据包,并在浏览器(例如 Chrome)中接收答案。有可能吗?
注意: 我也想修改数据包。我不想只发送一个简单的网站请求。我也想更改请求数据包的某些部分。例如,在某些数据包中,有一个名为 challenge 的参数,而我想向具有不同挑战的网站发送请求。此外,假设我想在网站中自动填写表格(例如注册不同的用户)。 (不完全是通过填写表格。例如,通过发送与我点击 Sign Up 或 Confirm 时浏览器发送的相同数据包)
更新:
实际上,我想对 Web 服务器进行压力测试。所以我想发送一系列具有不同标头的请求(即针对不同用户的请求),为 1000 个不同的用户执行单个事务 1000 次。最后我想看看事务是否成功完成。 (假设交易是将一些钱存入不同用户的单个帐户 - 所以在测试结束时我可以检查该帐户的资金以查看交易是否成功。)或者我可以发送注册请求对于不同的用户,以及最终创建的帐户数量,将指定系统响应大量请求的效率。因此,Web 服务器对我的计算机的响应并不重要。但如果有可能看到它,那是一种乐趣
【问题讨论】:
-
使用 Selenium:pypi.python.org/pypi/selenium
-
您是想要打开一个实际的浏览器窗口还是只是发出请求并阅读响应?第一次使用 selenium,第二次使用请求
-
@ydaetskcoR 请查看更新部分。
标签: python google-chrome http firefox tcp