最近發現,python**會產生很多殭屍程序,之前未發現,自從使用urllib2模組發http請求之後,便產生了大量殭屍程序,確定是由於urllib2產生,
原始**如下:
req=urllib2.request(url)
urllib2.urlopen(req)
最開始,想當然的任務,http請求不是長連線,連線會自動釋放,犯了大錯,雖然http不是長連線,但是開啟連線之後,一些資源還是需要自己關閉,後面將**修改為:
req=urllib2.request(url)
response = urllib2.urlopen(req)
response.close()
結果過了一段時間發現,還是會產生殭屍程序,通過日誌發現,有很多104的http錯誤,基本確定是由於http請求失敗之後,導致殭屍程序,於是在請求的時候加上超時限制
req=urllib2.request(url)
response = urllib2.urlopen(req,timeout=10)
response.close()
經過這樣修改之後,暫未發現殭屍程序,後續還需繼續觀察
Python urllib2使用總結
import urllib2 response urllib2.urlopen html response.read 這個過程就是基於簡單的請求 響應的模型 response urllib2.urlopen 實際上可以看作兩個步驟 1 我們向指定網域名稱傳送請求 request urllib2.re...
python urllib2查詢資料
最近為了更好的查詢老王python的外鏈,所以準備寫乙個python urllib2 查詢指令碼來查詢,一般查詢外鏈比較準確的工具還是yahoo的外鏈工具,但是有點不方便的就是,yahoo查出的外鏈要一頁一頁的翻,好累而且不好方便統計,我是想把 的外鏈全部讀取到檔案裡,這樣比較好在本地來進行統計。廢...
python urllib2使用心得
python urllib2使用心得 1 http get請求 過程 獲取返回結果,關閉連線,列印結果 f urllib2.urlopen req,timeout 10 the page f.read f.close print the page 2 http get請求 包頭 paras toke...