這個想法是說,開發人員有一套測試運行在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/)。 –