如何使用 Python 的 requests 模組?

王林
發布: 2023-05-09 16:16:08
轉載
1527 人瀏覽過

    1.檔案上傳

    我們知道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字段來識別。

    2.cookies

     我們可以用cookies來維持登入狀態,在瀏覽器裡面,在開發者工具裡面,我們可以找到cookies字段,我們可以直接複製即可。

     我們將cookies設定到headers裡面,然後,發送請求,就可以登入了。範例程式碼如下:

    3.SSL憑證驗證

    那麼什麼是SSL憑證呢?

    • SSL證書是一種數位證書,是一種電子副本,類似於駕駛證、護照和營業執照的電子副本。它是由受信任的數位憑證授權單位(CA)簽發,且客戶端和伺服器都必須驗證憑證的有效性。

    • SSL憑證的主要功能是提供伺服器驗證和資料傳輸加密。它可以確保資料在傳輸過程中不會被竊取或篡改,並且可以增強安全性,防止未經授權的人員存取伺服器。

    • 在SSL憑證驗證過程中,用戶端和伺服器都需要驗證憑證的有效性。

     此外,requests還有證書驗證的功能,當發送HTTP請求的時候,它會檢查SSL證書,我們可以使用verify參數控制是否檢查此證書。一般預設是開啟的。

     那我們的程式碼怎麼寫呢?

    response = requests.get('http://www.baidu.com',verify = False)
    登入後複製

    4.代理設定

    對於某些網站,在測試的時候還能取得內容,一旦頻繁爬取,就有可能被封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 屬性列印了回應狀態碼和頭部資訊。
     

    5.逾時設定

            在網路上不好的時候,或是伺服器回應太慢,甚至有時還會報錯,為了防止伺服器無法及時回應,我們可以設定一個超時設置,這裡就用到了timeout參數。

    response = requests.get('http://www.baidu.com',timeout= 30)
    登入後複製

    request 物件的 timeout 屬性用於設定請求逾時時間。預設情況下,timeout 屬性的值為 60,表示請求逾時時間為 60 秒。如果需要變更逾時時間,可以設定為一個較小的值,例如 30,表示請求逾時時間為 30 秒。

    如果需要在請求傳送後立即傳回回應,可以將 timeout 屬性設為 0。這將使 timeout 屬性的值為 None,表示請求逾時時間為 永遠。

    以上是如何使用 Python 的 requests 模組?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

    相關標籤:
    來源:yisu.com
    本網站聲明
    本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
    熱門教學
    更多>
    最新下載
    更多>
    網站特效
    網站源碼
    網站素材
    前端模板