2013-10-01 52 views
0

這個想法是說,開發人員有一套測試運行在locahost:8000上,並且他在測試中對其進行了硬編碼。我們可以模擬Python腳本中的瀏覽器代理機制嗎?

當我們在瀏覽器中設置代理時,瀏覽器會處理代理,以便用戶只關心輸入localhost:8000而不輸入localhost:proxy_port。瀏覽器實際上發送請求並從代理端口接收響應。

我們可以模擬這種方式,以便測試不必更改爲localhost:proxy_port(並且代理服務器知道路由到端口8000)。相反,開發人員可以在其測試中繼續以localhost:8000的身份運行,但是當他運行測試時,請求會自動通過代理服務器。

PS:也沒有改變服務器的端口。由於假定端口8000作爲應用程序服務器運行並將其更改爲另一個端口可能會破壞其他事情!所以說「將代理服務器端口更改爲8000,將我的webapp服務器更改爲80001」並不能解決整個問題。

+0

''他在測試中硬編碼''第一個錯誤。 –

+1

請參閱SO問題[如何在Python中編寫Web代理](http://stackoverflow.com/questions/16524545/how-to-write-a-web-proxy-in-python)和Google代碼項目[proxpy] (https://code.google.com/p/proxpy/)。 –

回答

0

設置HTTP_PROXY環境變量(並將其導出),並且Python將遵守(只要使用標準庫)。

+0

聽起來像一個可行的事情。我可以想象測試客戶端需要一個參數代理IP和端口。例如,如果測試客戶端正在使用請求庫,它可以這樣做。我會看看它是如何適合的。謝謝 – User007

相關問題