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

python使用requests庫實現輕松發(fā)起HTTP請求

 更新時間:2025年01月08日 09:20:33   作者:morris131  
requests是Python中一個非常流行的用于發(fā)送HTTP請求的第三方庫,它提供了簡潔的API,使得發(fā)送各種HTTP請求變得非常容易,下面我們來看看具體實現方法吧

requests是Python中一個非常流行的用于發(fā)送HTTP請求的第三方庫。它提供了簡潔的API,使得發(fā)送各種HTTP請求(如GET、POST、PUT、DELETE等)變得非常容易。

以下是一些基本的用法示例:

安裝

首先,你需要安裝requests庫。如果你還沒有安裝,可以使用pip進行安裝:

> pip install requests

發(fā)送GET請求

import requests

# mock data url: https://jsonplaceholder.typicode.com/
resp = requests.get("http://jsonplaceholder.typicode.com/posts/3")

if resp.status_code == 200:
    # 獲取響應內容(JSON格式)
    data = resp.json()
    print(data)
else:
    print(f"請求失敗,狀態(tài)碼:{resp.status_code}")

發(fā)送GET請求帶參數

import requests

# mock data url: https://jsonplaceholder.typicode.com/
param = {
    "userId": 2
}
resp = requests.get("http://jsonplaceholder.typicode.com/posts", params=param)

if resp.status_code == 200:
    # 獲取響應內容(JSON格式)
    data = resp.json()
    print(data)
else:
    print(f"請求失敗,狀態(tài)碼:{resp.status_code}")

發(fā)送POST請求

import requests

data = {
    "userId": 11,
    "title": "requests post demo",
    "body": "requests post body"
}

resp = requests.post("http://jsonplaceholder.typicode.com/posts", data=data)

if resp.status_code == 200 or resp.status_code == 201:
    # 獲取響應內容(JSON格式)
    data = resp.json()
    print(data)
else:
    print(f"請求失敗,狀態(tài)碼:{resp.status_code}")

設置請求頭

import requests
import json

# mock data url: https://jsonplaceholder.typicode.com/
data = {
    "userId": 11,
    "title": "requests post demo",
    "body": "requests post body"
}
header = {
    'Content-Type': 'application/json_demo'
}
resp = requests.post("http://jsonplaceholder.typicode.com/posts", data=json.dumps(data), headers=header)

if resp.status_code == 200 or resp.status_code == 201:
    # 獲取響應內容(JSON格式)
    data = resp.json()
    print(data)
else:
    print(f"請求失敗,狀態(tài)碼:{resp.status_code}")

設置Cookie和獲取Cookie

import requests

# mock data url: https://jsonplaceholder.typicode.com/
cookies = {
    'session_id': '12345',
    'user_token': 'abcdef'
}

# 發(fā)送請求,并帶上 cookies
resp = requests.get("http://jsonplaceholder.typicode.com/posts/1", cookies=cookies)

# 從響應中獲取 cookies
cookies = resp.cookies.get_dict()
print(cookies)

使用Session管理Cookies

當你需要跨多個請求保持cookies時,requests.Session對象特別有用。它允許你在會話期間自動存儲和發(fā)送cookies。

import requests

# 創(chuàng)建一個會話對象
session = requests.Session()

# 發(fā)送第一個請求,服務器可能會設置一些 cookies
response = session.get('https://example.com/login')

# 發(fā)送第二個請求,這次請求會自動帶上之前設置的 cookies
response = session.get('https://example.com/profile')

# 你可以檢查響應中的 cookies
print(session.cookies.get_dict())

處理響應

response.status_code:HTTP狀態(tài)碼

response.text:響應內容的字符串形式

response.content:響應內容的二進制形式

response.json():將響應內容解析為JSON對象(前提是響應內容是JSON格式)

異常處理

在發(fā)送請求時,你可能會遇到各種異常,如網絡問題、無效的URL等。

可以使用try-except塊來捕獲這些異常:

import requests

try:
    response = requests.get('https://api.example.com/data')
    response.raise_for_status()  # 如果響應狀態(tài)碼不是 200,則引發(fā) HTTPError 異常
    data = response.json()
    print(data)
except requests.exceptions.HTTPError as errh:
    print(f"HTTP 錯誤:{errh}")
except requests.exceptions.ConnectionError as errc:
    print(f"連接錯誤:{errc}")
except requests.exceptions.Timeout as errt:
    print(f"請求超時:{errt}")
except requests.exceptions.RequestException as err:
    print(f"請求錯誤:{err}")

打印完整的請求和響應報文包含頭

import http
import logging
import requests

# 配置logging
logging.basicConfig(level=logging.DEBUG)
logging.getLogger('requests').setLevel(logging.DEBUG)
http.client.HTTPConnection.debuglevel = 1

# mock data url: https://jsonplaceholder.typicode.com/
resp = requests.get("http://jsonplaceholder.typicode.com/posts/3")

if resp.status_code == 200:
    # 獲取響應內容(JSON格式)
    data = resp.json()
    print(data)
else:
    print(f"請求失敗,狀態(tài)碼:{resp.status_code}")

到此這篇關于python使用requests庫實現輕松發(fā)起HTTP請求的文章就介紹到這了,更多相關python requests發(fā)起HTTP請求內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!

相關文章

  • 手把手帶你用python爬取小姐姐私房照

    手把手帶你用python爬取小姐姐私房照

    這篇文章主要介紹了用python如何爬取小姐姐私房照,本文給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2021-08-08
  • 在Python中使用元類的教程

    在Python中使用元類的教程

    這篇文章主要介紹了在Python中使用元類的教程,是Python當中的基礎知識,代碼基于Python2.x版本,需要的朋友可以參考下
    2015-04-04
  • python常規(guī)方法實現數組的全排列

    python常規(guī)方法實現數組的全排列

    這篇文章主要介紹了python常規(guī)方法實現數組的全排列,實例分析了全排列的概念及Python常規(guī)實現技巧,需要的朋友可以參考下
    2015-03-03
  • 詳解OpenCV和PIL讀取和顯示圖像的差異

    詳解OpenCV和PIL讀取和顯示圖像的差異

    這篇文章主要介紹了OpenCV和PIL讀取和顯示圖像的差異,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2021-04-04
  • Mac中pyenv的安裝與使用教程

    Mac中pyenv的安裝與使用教程

    pyenv支持linux下python多版本的共存和版本之間切換,非常方便,下面這篇文章主要給大家介紹了關于Mac中pyenv安裝與使用的相關資料,需要的朋友可以參考下
    2022-02-02
  • python實例方法的使用注意及代碼實例

    python實例方法的使用注意及代碼實例

    在本篇文章里小編給大家總結的是關于python實例方法的使用注意及代碼實例內容,對此有興趣的朋友們可以參考下。
    2022-11-11
  • Python抓取框架Scrapy爬蟲入門:頁面提取

    Python抓取框架Scrapy爬蟲入門:頁面提取

    Scrapy吸引人的地方在于它是一個框架,任何人都可以根據需求方便的修改,下面這篇文章主要給大家介紹了關于Python抓取框架Scrapy爬蟲入門之頁面提取的相關資料,文中通過示例代碼介紹的非常詳細,需要的朋友可以參考下。
    2017-12-12
  • Python利用正則表達式匹配并截取指定子串及去重的方法

    Python利用正則表達式匹配并截取指定子串及去重的方法

    這篇文章主要介紹了Python利用正則表達式匹配并截取指定子串及去重的方法,涉及Python正則表達式匹配及字符串截取操作的相關技巧,具有一定參考借鑒價值,需要的朋友可以參考下
    2015-07-07
  • Django rest framework實現分頁的示例

    Django rest framework實現分頁的示例

    這篇文章主要介紹了Django rest framework實現分頁的示例,小編覺得挺不錯的,現在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2018-05-05
  • Django中Q查詢及Q()對象 F查詢及F()對象用法

    Django中Q查詢及Q()對象 F查詢及F()對象用法

    這篇文章主要介紹了Django中Q查詢及Q()對象 F查詢及F()對象用法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-07-07

最新評論

崇明县| 雅江县| 准格尔旗| 岫岩| 贵州省| 屏南县| 邯郸市| 皋兰县| 马鞍山市| 清水河县| 霞浦县| 东莞市| 江陵县| 阿拉善盟| 独山县| 安平县| 务川| 交口县| 读书| 九龙城区| 金秀| 毕节市| 项城市| 盐边县| 腾冲县| 江安县| 资兴市| 洪湖市| 武冈市| 桐乡市| 靖边县| 虞城县| 阳江市| 三明市| 儋州市| 旌德县| 灵川县| 金湖县| 凭祥市| 福贡县| 太谷县|