繁体   English   中英

是否可以使用python脚本在浏览器(Chrome / Firefox)中打开网站?

[英]Is it possible to open a website in a browser (Chrome/Firefox) using python script?

当我在浏览器地址栏中输入网站的地址并单击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工具捕获了上述数据包,这是对StackOverflow.com的要求

现在我想知道有什么方法可以使用python自动执行此请求吗?

换句话说,我想使用Python脚本发送上述数据包,并在浏览器(例如Chrome)中接收答案。 可能吗?

注意:我也想修改数据包。 我不想仅发送简单的网站请求。 我也想更改请求数据包的某些部分。 例如,在某些数据包中,有一个名为Challenge的参数,并且我想发送对具有不同Challenge的网站的请求。 此外,假设我要自动在网站上填写表格(例如,注册其他用户)。 (不完全是填写表格。例如,通过发送与我单击“ 注册”或“ 确认”时浏览器发送的相同数据包)

更新:

实际上,我想对Web服务器进行压力测试。 因此,我想发送带有不同标头的请求序列(即,针对不同用户的请求),以对1000个不同用户执行一次1000次事务。最后,我想查看事务是否成功完成。 (假设交易是将钱存入具有不同用户的单个帐户中-因此,在测试结束时,我可以检查该帐户中的钱以查看交易是否成功完成。)或者我可以发送请求进行注册对于不同的用户,最终创建的帐户数将指定系统在响应大量请求时的效率。因此,Web服务器对我的计算机的响应并不是很重要。 但是,如果有可能看到的话,那是一种享受

使用Selenium与浏览器进行交互,您可以从此页面开始,也可以阅读docs

下面的代码是硒的简单用法:

from selenium import webdriver
from selenium.webdriver.common.keys import Keys

driver = webdriver.Firefox()
driver.get("http://www.python.org")

试试这个,享受...

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM