这个想法是说,开发人员有一套测试运行在locahost:8000
上,并且他在测试中对其进行了硬编码。我们可以模拟Python脚本中的浏览器代理机制吗?
当我们在浏览器中设置代理时,浏览器会处理代理,以便用户只关心输入localhost:8000
而不输入localhost:proxy_port
。浏览器实际上发送请求并从代理端口接收响应。
我们可以模拟这种方式,以便测试不必更改为localhost:proxy_port
(并且代理服务器知道路由到端口8000)。相反,开发人员可以在其测试中继续以localhost:8000
的身份运行,但是当他运行测试时,请求会自动通过代理服务器。
PS:也没有改变服务器的端口。由于假定端口8000作为应用程序服务器运行并将其更改为另一个端口可能会破坏其他事情!所以说“将代理服务器端口更改为8000,将我的webapp服务器更改为80001”并不能解决整个问题。
''他在测试中硬编码''第一个错误。 –
请参阅SO问题[如何在Python中编写Web代理](http://stackoverflow.com/questions/16524545/how-to-write-a-web-proxy-in-python)和Google代码项目[proxpy] (https://code.google.com/p/proxpy/)。 –