HTTPConnectionPool(host:XX)Max retries exceeded with url 解決方法


爬蟲多次訪問同一個網站一段時間后會出現錯誤 HTTPConnectionPool(host:XX)Max retries exceeded with url '<requests.packages.urllib3.connection.HTTPConnection object at XXXX>: Failed to establish a new connection: [Errno 99] Cannot assign requested address'

是因為在每次數據傳輸前客戶端要和服務器建立TCP連接,為節省傳輸消耗,默認為keep-alive,即連接一次,傳輸多次,然而在多次訪問后不能結束並回到連接池中,導致不能產生新的連接

headers中的Connection默認為keep-alive,

將header中的Connection一項置為close

 

headers = {

    'Connection': 'close',

}

r = requests.get(url, headers=headers)

 

 

此時問題解決


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM