最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Python HTTP庫 requests 的簡單使用詳情

 更新時間:2021年09月29日 11:15:45   作者:tigeriaf  
requests是Python的一個HTTP客戶端庫,基于urllib標準庫,在urllib標準庫的基礎上做了高度封裝,因此更加簡潔好用,下面就由小編來給大家詳細介紹吧,需要的朋友可以參考下

requests庫實現了HTTP協(xié)議中絕大部分功能,提供了Keep-Alive、連接池、Cookie持久化、HTTP(S)代理支持、連接超時等很多功能特性,最重要的是它同時支持Python2和ython3,而且能在PyPy下完美運行。

使用前需要使用pip install requests命令進行安裝。

1、簡單使用

res = requests.get("http://httpbin.org/get")
# 狀態(tài)碼
print(res.status_code)
# 響應頭
print(res.headers["Content-Type"], res.headers["Server"])
# 響應內容
print(res.text)

執(zhí)行結果如下:

200
application/json gunicorn/19.9.0
{
  "args": {},
  "headers": {
    "Accept": "*/*",
    "Accept-Encoding": "gzip, deflate",
    .......
  },
  "origin": "xxx.xxx.xx.xx", 
  "url": http://httpbin.org/get
}

另外,http請求還有很多類型,比如POST、PUT、DELETE、HEAD、OPTIONS。requests也都可以以簡單的方式實現。

res = requests.post("http://httpbin.org/post")
res = requests.put("http://httpbin.org/put")
res = requests.delete("http://httpbin.org/delete")
res = requests.head("http://httpbin.org/get")
res = requests.options("http://httpbin.org/get")

由此看來,使用requests庫確實簡單方便。

2、構建請求查詢參數

很多請求都需要在URL中傳遞參數,我們可以用字典來構建查詢參數,使用params參數在URL中添加參數。

payload = {"wd": "test"}
res = requests.get("https://www.baidu.com/", params=payload)
print(res.url)

運行結果如下:

https://www.baidu.com/?wd=test

3、構建請求頭Headers

requests可以在請求中很簡單的指定請求頭的Headers信息,直接傳遞一個字典給參數headers即可。

headers = {"user-agent": "Mozilla/5.0", "cookies": "xxx"}
res = requests.get("https://www.baidu.com/", headers=headers)

4、構建POST請求數據

requests可以非常方便的構建POST請求需要的數據。如果服務端接收的的數據是表單數據,可以使用參數data上送,如果接收的是json格式的數據,則可以使用json參數上送。

4.1 表單數據

import requests

data = {"key1": "value1", "key2": "value2"}
res = requests.post("http://httpbin.org/post", data=data)
print(res.text)

運行結果如下:

{
  "args": {},
  "data": "",
  "files": {},
  "form": {
    "key1": "value1",
    "key2": "value2"
  },
  "headers": {
    "Accept": "*/*",
    "Accept-Encoding": "gzip, deflate",
    "Content-Length": "23",
    "Content-Type": "application/x-www-form-urlencoded",
    "Host": "httpbin.org",
    "User-Agent": "python-requests/2.26.0",
    "X-Amzn-Trace-Id": "Root=1-614d7d91-559333ee19237f845026ef37"
  },
  "json": null,
  "origin": "xxx.xxx.xx.xx",
  "url": " }

4.2 json數據

import json
import requests

url = "http://httpbin.org/post"
data = {"key": "value"}
data = json.dumps(data)
res = requests.post(url, data=data)
print(res.text)

運行結果如下:

{
  "args": {},
  "data": "{\"key\": \"value\"}",
  "files": {},
  "form": {},
  "headers": {
    "Accept": "*/*",
    "Accept-Encoding": "gzip, deflate",
    "Content-Length": "16",
    "Host": "httpbin.org",
    "User-Agent": "python-requests/2.26.0",
    "X-Amzn-Trace-Id": "Root=1-614d7e91-065887f925dce94d6d03b2e4"
  },
  "json": {
    "key": "value"
  },
  "origin": "xxx.xxx.xx.xx",
  "url": "http://httpbin.org/post"
}

5、獲取響應內容

使用requests請求處理響應體也非常方便靈活,可以使用的屬性有content、text、json() 。

content屬性獲取的是byte類型的數據。

import requests


res = requests.get("http://httpbin.org/get")
print(res.content)

text屬性獲取的是str類型的數據。

import requests


res = requests.get("http://httpbin.org/get")
print(res.text)

如果返回的內容是json格式的數據時,就可以使用json()方法返回一個經過json.loads()處理后的對象。

import requests

url = "http://httpbin.org/post"
res = requests.post(url)
print(res.json())

6、Cookies

如果響應中包含了cookie信息,我們可以使用cookies屬性獲取。

res = requests.get("http://httpbin.org/get")
print(res.cookies)

另外還可以使用cookies參數向服務端發(fā)送cookies信息。

url = "http://httpbin.org/cookies"
cookies = {"cookies": "xxxxx"}
r = requests.get(url, cookies=cookies)
print(r.text)

7、超時配置

可以利用timeout參數來配置最大請求時間。

requests.get("https://baidu.com", timeout=0.01)

8、代理

如果需要使用代理,我們可以通過proxies參數來配置。

import requests

proxies = {
  'http': 'http://175.7.199.202:3256',
  'https': 'http://175.7.199.59:3256',
}

requests.get('http://httpbin.org/get', proxies=proxies)

總結:

到此這篇關于Python HTTP庫 requests 的簡單使用詳情的文章就介紹到這了,更多相關Python HTTP庫 requests 的簡單使用內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!

相關文章

  • 深入探討opencv圖像矯正算法實戰(zhàn)

    深入探討opencv圖像矯正算法實戰(zhàn)

    在機器視覺中,對于圖像的處理有時候因為放置的原因導致ROI區(qū)域傾斜,這個時候我們會想辦法把它糾正為正確的角度視角來,本文主要介紹了opencv圖像矯正算法,感興趣的可以了解一下
    2021-05-05
  • keras的ImageDataGenerator和flow()的用法說明

    keras的ImageDataGenerator和flow()的用法說明

    這篇文章主要介紹了keras的ImageDataGenerator和flow()的用法說明,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-07-07
  • win10安裝python3.6的常見問題

    win10安裝python3.6的常見問題

    在本篇文章里小編給大家分享的是關于win10安裝python3.6的具體步驟,有興趣的朋友們可以參考學習下。
    2020-07-07
  • python調用系統(tǒng)中應用程序的函數示例

    python調用系統(tǒng)中應用程序的函數示例

    這篇文章主要為大家介紹了python調用系統(tǒng)中應用程序詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2022-06-06
  • Python數據類型探索列表魔法世界

    Python數據類型探索列表魔法世界

    這篇文章主要為大家介紹了Python數據類型探索列表魔法世界,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2023-11-11
  • python?pandas處理excel表格數據的常用方法總結

    python?pandas處理excel表格數據的常用方法總結

    在計算機編程中,pandas是Python編程語言的用于數據操縱和分析的軟件庫,下面這篇文章主要給大家介紹了關于python?pandas處理excel表格數據的常用方法,文中通過實例代碼介紹的非常詳細,需要的朋友可以參考下
    2022-07-07
  • 這可能是最好玩的python GUI入門實例(推薦)

    這可能是最好玩的python GUI入門實例(推薦)

    這篇文章主要介紹了這可能是最好玩的python GUI入門實例,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2019-07-07
  • Python中常用的高階函數實例詳解

    Python中常用的高階函數實例詳解

    高階函數指的是能接收函數作為參數的函數或類,這篇文章主要介紹了Python中常用的高階函數,通過實例文字解釋相結合給大家介紹的非常詳細,需要的朋友可以參考下
    2020-02-02
  • Python工程師面試必備25條知識點

    Python工程師面試必備25條知識點

    這篇文章主要為大家詳細介紹了Python工程師面試必備25條知識點,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2018-01-01
  • Python內存池機制的實現

    Python內存池機制的實現

    Python內存池是Python解釋器為了提高內存分配效率而設計的一種內存管理機制,本文主要介紹了Python內存池機制的實現,具有一定的參考價值,感興趣的可以了解一下
    2025-04-04

最新評論

内黄县| 北海市| 沙湾县| 山西省| 乐安县| 广元市| 宜州市| 霍城县| 辽源市| 霍城县| 瑞安市| 忻城县| 永宁县| 秭归县| 铁岭市| 敦煌市| 高邮市| 锦屏县| 玉树县| 海林市| 扶绥县| 金沙县| 民勤县| 临安市| 军事| 西平县| 禹州市| 夏邑县| 米脂县| 罗田县| 松潘县| 麻城市| 景谷| 汉阴县| 政和县| 宜兰县| 昌乐县| 灵台县| 静安区| 临夏市| 东兴市|