我们可以在Python脚本中模拟浏览器代理机制吗?

我们可以在Python脚本中模拟浏览器代理机制吗?,python,testing,proxy,Python,Testing,Proxy,其思想是,假设一个开发人员有一组测试要针对locahost:8000运行,并且他在测试中硬编码了这些测试 当我们在浏览器中设置代理时,浏览器会处理代理,因此用户只关心键入localhost:8000,而不是localhost:proxy\u port。浏览器实际上发送请求并从代理端口接收响应 我们是否可以模拟这种情况,以便测试不必更改为localhost:proxy\u port(并且代理服务器知道路由到端口8000)。相反,开发人员可以在他的测试中继续以localhost:8000的身份运行,

其思想是,假设一个开发人员有一组测试要针对
locahost:8000
运行,并且他在测试中硬编码了这些测试

当我们在浏览器中设置代理时,浏览器会处理代理,因此用户只关心键入
localhost:8000
,而不是
localhost:proxy\u port
。浏览器实际上发送请求并从代理端口接收响应

我们是否可以模拟这种情况,以便测试不必更改为
localhost:proxy\u port
(并且代理服务器知道路由到端口8000)。相反,开发人员可以在他的测试中继续以
localhost:8000
的身份运行,但是当他运行测试时,请求会自动通过代理服务器


PS:也不改变服务器的端口。因为假设端口8000作为应用服务器运行,将其更改为另一个端口可能会破坏其他功能!所以说“将代理服务器端口更改为8000,将我的webapp服务器更改为80001”并不能解决整个问题。

设置HTTP_代理环境变量(并将其导出),Python将遵守这一点(只要使用标准库)。

“他在测试中已经硬编码了这一点。”
第一个错误。请看问题和谷歌代码项目。听起来是可行的。我会想象测试客户机接受代理ip和端口的参数。例如,如果测试客户机正在使用请求库,它可以这样做。我会看看它是否合适。谢谢