我正在編寫一個小片段來從網頁中獲取數據,而我目前正在使用HTTP/HTTPS代理。請求是這樣創建的:HTTPS請求發送時沒有包含Python請求的頭文件
headers = {'Proxy-Connection': 'Keep-Alive',
'Connection':None,
'User-Agent':'curl/1.2.3',
}
r = requests.get("https://www.google.es", headers=headers, proxies=proxyDict)
首先,HTTP和HTTPS都沒有工作,並且代理在請求後返回403。奇怪的是,我可以使用curl
來執行HTTP/HTTPS請求,使用apt-get
獲取軟件包或瀏覽網頁。看看Wireshark,我注意到curl
請求和請求之間的一些差異。將User-Agent
設置爲假curl
版本後,代理立即讓我執行HTTP請求,因此我認爲User-Agent
的代理篩選請求。因此,現在我知道爲什麼我的代碼失敗了,而且我可以執行HTTP請求,但代碼仍然與HTTPS一起失敗。我使用與HTTP相同的方式設置標題,但在查看Wireshark之後,沒有在CONNECT消息中發送標頭,因此代理不會看到User-Agent
並返回ACCESS DENIED響應。
我認爲如果只有我可以用CONNECT消息發送頭文件,我可以輕鬆地完成HTTPS請求,但是我打破了我的頭腦,想知道如何通過請求發送頭文件。