我們知道requests可以模擬提交一些數據,除此之外。有的網站需要我們上傳文件,我們用requests同樣也可以實現。例如講,我們現在想上傳文件,我們可以這樣做。
import requests f = {'f':open('a.text','rb')} r = requests.post('http://httpbin.org/post',files = f) print(r.text)
我們運行一下程序,我們看有什麼效果。
我們可以看到回應裡麵包含了files的這個字段,而form這個字段是空的,這證明了文件上傳部分會單獨有一個files字段來識別。
我們可以用cookies來維持登入狀態,在瀏覽器裡面,在開發者工具裡面,我們可以找到cookies字段,我們可以直接複製即可。
我們將cookies設定到headers裡面,然後,發送請求,就可以登入了。範例程式碼如下:
那麼什麼是SSL憑證呢?
SSL證書是一種數位證書,是一種電子副本,類似於駕駛證、護照和營業執照的電子副本。它是由受信任的數位憑證授權單位(CA)簽發,且客戶端和伺服器都必須驗證憑證的有效性。
SSL憑證的主要功能是提供伺服器驗證和資料傳輸加密。它可以確保資料在傳輸過程中不會被竊取或篡改,並且可以增強安全性,防止未經授權的人員存取伺服器。
在SSL憑證驗證過程中,用戶端和伺服器都需要驗證憑證的有效性。
此外,requests還有證書驗證的功能,當發送HTTP請求的時候,它會檢查SSL證書,我們可以使用verify參數控制是否檢查此證書。一般預設是開啟的。
那我們的程式碼怎麼寫呢?
response = requests.get('http://www.baidu.com',verify = False)
對於某些網站,在測試的時候還能取得內容,一旦頻繁爬取,就有可能被封IP,導致一段時間無法存取。那麼,為了防止這種情況發生,我們就要設定代理來解決,這裡就用到了proxies參數。
Proxy 是 Python 的一個內建模組,它可以用來建立代理對象,用於在網路上轉送請求和回應。在 Python 中,可以使用 requests 函式庫來傳送 HTTP 請求,並使用 proxies 參數來指定代理物件。
下面是一個範例程式碼,示範如何使用proxies 參數來設定代理物件:
import requests # 创建一个 requests 对象 r = requests.get('http://example.com') # 设置代理对象 r.proxies = {'http': 'http://proxy.example.com:80'} # 发送请求并获取响应 response = r.send() # 打印响应状态码和头部信息 print(response.status_code) print(response.headers)
在上面的程式碼中,我們首先建立了一個requests 對象,並使用proxies 參數設定了一個代理對象。在這個範例中,我們將 http 請求轉送到了一個名為 proxy.example.com 的代理伺服器上,並將代理伺服器的位址設為 80。
然後,我們使用 send 方法發送了一個 HTTP GET 請求,並將代理物件作為參數傳遞給了它。最後,我們使用 response.status_code 和 response.headers 屬性列印了回應狀態碼和頭部資訊。
在網路上不好的時候,或是伺服器回應太慢,甚至有時還會報錯,為了防止伺服器無法及時回應,我們可以設定一個超時設置,這裡就用到了timeout參數。
response = requests.get('http://www.baidu.com',timeout= 30)
request 物件的 timeout 屬性用於設定請求逾時時間。預設情況下,timeout 屬性的值為 60,表示請求逾時時間為 60 秒。如果需要變更逾時時間,可以設定為一個較小的值,例如 30,表示請求逾時時間為 30 秒。
如果需要在請求傳送後立即傳回回應,可以將 timeout 屬性設為 0。這將使 timeout 屬性的值為 None,表示請求逾時時間為 永遠。
以上是如何使用 Python 的 requests 模組?的詳細內容。更多資訊請關注PHP中文網其他相關文章!