Python—requests模塊

Python requests 模塊代碼演示

requests 是 Python 中一個簡單易用的 HTTP 庫,用于發送各種 HTTP 請求。下面是一些常見的使用示例:

1. 基本 GET 請求

import requests# 發送 GET 請求
response = requests.get('https://api.github.com')# 檢查請求是否成功 (狀態碼 200)
if response.status_code == 200:print('請求成功!')print('響應內容:', response.text[:200])  # 打印前200個字符
else:print('請求失敗,狀態碼:', response.status_code)

2. 帶參數的 GET 請求

import requests# 定義查詢參數
params = {'q': 'python','sort': 'stars','order': 'desc'
}# 發送帶參數的 GET 請求
response = requests.get('https://api.github.com/search/repositories', params=params)# 解析 JSON 響應
if response.status_code == 200:data = response.json()print(f"找到 {data['total_count']} 個倉庫")print("前幾個倉庫:")for repo in data['items'][:3]:print(f"- {repo['name']} ({repo['stargazers_count']} 星)")

3. POST 請求

import requests
import json# 要發送的數據
data = {'name': 'John Doe','email': 'john@example.com'
}# 發送 POST 請求
response = requests.post('https://httpbin.org/post',data=json.dumps(data),  # 將字典轉換為JSON字符串headers={'Content-Type': 'application/json'}
)# 檢查響應
if response.status_code == 200:print('POST 請求成功!')print('響應數據:', response.json())

4. 處理響應

import requestsresponse = requests.get('https://api.github.com/events')# 不同的響應屬性
print("狀態碼:", response.status_code)
print("響應頭:", response.headers['Content-Type'])
print("編碼:", response.encoding)
print("文本內容:", response.text[:100])  # 文本格式
print("JSON內容:", response.json()[0])  # 如果響應是JSON格式

5. 錯誤處理

import requests
from requests.exceptions import RequestExceptiontry:response = requests.get('https://api.github.com/nonexistent', timeout=5)response.raise_for_status()  # 如果請求失敗會拋出異常
except RequestException as e:print(f"請求發生錯誤: {e}")
else:print("請求成功!")

6. 會話對象 (保持會話)

import requests# 創建會話對象
session = requests.Session()# 設置會話級別的默認值
session.headers.update({'User-Agent': 'MyApp/1.0'})# 第一次請求 - 會設置cookie
response1 = session.get('https://httpbin.org/cookies/set/sessionid/12345')# 第二次請求 - 會自動攜帶之前的cookie
response2 = session.get('https://httpbin.org/cookies')print(response2.text)

7. 文件上傳

import requestsurl = 'https://httpbin.org/post'
files = {'file': open('example.txt', 'rb')}response = requests.post(url, files=files)
print(response.text)

8. 基本認證

import requests
from requests.auth import HTTPBasicAuthresponse = requests.get('https://api.github.com/user',auth=HTTPBasicAuth('username', 'password')
)# 或者簡寫為:
# response = requests.get('https://api.github.com/user', auth=('username', 'password'))print(response.status_code)

9. 超時設置

import requeststry:# 設置連接和讀取超時為5秒response = requests.get('https://api.github.com', timeout=5)print("請求在超時前完成")
except requests.exceptions.Timeout:print("請求超時")

10. 代理設置

import requestsproxies = {'http': 'http://10.10.1.10:3128','https': 'http://10.10.1.10:1080',
}response = requests.get('https://api.github.com', proxies=proxies)
print(response.status_code)

這些示例涵蓋了 requests 模塊的最常用功能。requests 的 API 設計非常直觀,使得發送 HTTP 請求變得非常簡單。

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/web/89640.shtml
繁體地址,請注明出處:http://hk.pswp.cn/web/89640.shtml
英文地址,請注明出處:http://en.pswp.cn/web/89640.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

華為倉頡編程語言語法簡介與示例

華為倉頡編程語言語法簡介與示例 倉頡編程語言是華為自主研發的新一代通用編程語言,由南京大學馮新宇教授團隊主導設計,于 2024 年華為開發者大會(HDC)正式發布,并在 2025 年 7 月推出首個長期支持版本(LTS…

觸發器的創建

- 建立product表,操作方式operate表要求1.定義觸發器實現在產品表(product)中每多一個產品,就在操作表(operate)中記錄操作方式和時間以及編號記錄。注:操作說明:標記執行delete 、insert、update2.定義觸發器實現在產品表(product)中每更新一…

論文略讀: RASA: RANK-SHARING LOW-RANK ADAPTATION

ICLR 2025盡管 LoRA 有諸多優勢,但近期研究表明,它在大規模訓練數據集和復雜任務(如數學推理和代碼生成)中,仍然落后于全參數微調(FFT)一個合理的解釋是:低秩約束限制了 LoRA 的表達…

VSCode - VSCode 查找中文字符

VSCode 查找中文字符 1、查找中文字符使用快捷鍵 Ctrl F 打開查找框點擊正則表達式按鈕 .*在搜索框中輸入 [\u4e00-\u9fa5],這個范圍涵蓋了基本的中文字符2、查找中文字符串使用快捷鍵 Ctrl F 打開查找框點擊正則表達式按鈕 .*在搜索框中輸入 [\u4e00-\u9fa5]&a…

SQL基礎操作指南:增刪改查入門

前言 在日常數據庫操作中,掌握增刪查改是每個開發者必備的技能。下面我將通過實例解析SQL的核心操作要點,幫你避開常見陷阱。一、新增數據(INSERT) 單行插入:明確指定字段和值 INSERT INTO 表名(字段1, 字段2) VALUES …

Linux系統安裝Docker及部署Node.js 20.15.0(含pnpm、pm2)完整指南

前言:在應用項目部署中,“環境不一致”往往是開發與運維的痛點——本地能跑的代碼到了服務器就報錯,依賴版本、系統配置差異都可能成為隱患。而Docker的容器化技術恰好能解決這一問題,通過“一次構建,到處運行”的特性…

python的多線程無法并行只能并發,why?

標題python的多線程無法并行只能并發,why?python的多線程無法并行只能并發,why? 在 Python 中,特別是使用 CPython 解釋器時,由于存在 全局解釋器鎖(GIL),即使在多核處理…

Kotlin比較接口

在 Kotlin 中,Comparable 和 Comparator 是兩個允許開發者對相同或不同類的對象進行比較的接口。這兩個接口通常用于基于一個或多個屬性對對象集合進行排序與排序操作。本文將概述 Kotlin 的 Comparable 和 Comparator 接口,解釋它們的用法,并…

day41 簡單CNN

DAY 41 首先回顧下昨天的代碼。 # import torch # import torch.nn as nn # import torch.optim as optim # from torchvision import datasets, transforms # from torch.utils.data import DataLoader # import matplotlib.pyplot as plt # import numpy as np# # 設置中文字…

[實戰]巴特沃斯濾波器全流程解析:從數學原理到硬件實現

巴特沃斯濾波器全流程解析:從數學原理到硬件實現 文章目錄巴特沃斯濾波器全流程解析:從數學原理到硬件實現1. 數學原理2. 工程實現梯形網絡結構3. Python理論仿真4. 硬件仿真與PCB考慮5. 完整設計工具6. 輸出結果示例7. 設計注意事項巴特沃斯濾波器是特別…

《機器學習數學基礎》補充資料:標準差與標準化

1 標準差 我們經常使用平均數來大致了解一組數據,例如平均成績、平均身高、平均壽命等等。但是如果只看平均數,不一定能充分了解整體情況。比如說你和某首富住同一個社區,你們社區平均每戶年收入兩千萬,那么你家是有錢還是沒錢&am…

深度學習 | 多類交叉熵(Categorical Cross Entropy)詳解 + Python實現

在多分類任務中,模型輸出一個概率分布,常用的損失函數是 Categorical Cross Entropy(多類交叉熵)。本文將帶你理解其數學本質、應用場景、數值穩定性及完整 Python 實現。📘 一、什么是 Categorical Cross Entropy&…

MyBatis-Plus通用中等、大量數據分批查詢和處理

函數式接口 獲取分頁數據接口 主要用于獲取數據 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;FunctionalInterface public interface MyBatisPlusPageFunctionInterface<T> {Page<T> selectPage(Page<T> page);}數據處理接口 import…

Ps 2025安裝包(Adobe Photoshop 2025)安裝包免費免激活版下載 附圖文詳細安裝教程

[軟件名稱]&#xff1a;Ps2025 V26.3 [軟件大小]&#xff1a;4.86 G [系統要求]&#xff1a;支持Win7及更高版本 [夸克網盤下載https://pan.quark.cn/s/d35677af9ef9 &#xff08;建議用手機保存到網盤后&#xff0c;再用電腦下載&#xff09;更多免費軟件見https://docs.qq.co…

Codeforces Round 1037 (Div. 3)(補題)

文章目錄前言A.Only One DigitB.No Casino in the MountainsC. I Will Definitely Make ItD.This Is the Last TimeE.G-C-D, Unlucky!總結前言 感覺前四道&#xff0c;就是考對于題目的理解能力&#xff0c;以及自己的模擬能力 A.Only One Digit 題目傳送門&#xff1a;Only …

基于單片機智能插座設計/智能開關

傳送門 &#x1f449;&#x1f449;&#x1f449;&#x1f449;其他作品題目速選一覽表 &#x1f449;&#x1f449;&#x1f449;&#x1f449;其他作品題目功能速覽 概述 隨著我國的電子計算機技術的快速發展以及居民對現實生活的要求也在不斷提升&#xff0c;所以很多…

[Linux]git_gdb

一、git1. git 常用指令git status 查看倉庫狀態git add <文件名> 把文件添加到倉庫暫存區git commit -m "信息" 把文件加入倉庫git push 把本地倉庫同步到遠端git pull …

醫療AI與融合數據庫的整合:挑戰、架構與未來展望(下)

?? 解決方案:引入融合數據庫(Multi-modal Data Fusion DB) 醫院引入一款支持圖、向量、表、流的融合數據庫(如Oracle ADW、Milvus+PostgreSQL、或某國產平臺),完成了以下集成: 數據類型 來源系統 格式/模型 示例內容 基因組數據 NGS平臺 VCF / JSON / 圖 EGFR突變、A…

【深度強化學習】MIP-DQN 實現案例(完整Python代碼)

目錄MIP-DQN 算法概述建模基礎訓練階段&#xff08;Training&#xff09;部署階段&#xff08;Online Execution&#xff09;DNN 網絡轉化為 MIP 表達式性能指標完整 Python 代碼實現主函數&#xff1a;random_generator_battery模型函數&#xff1a;MIP_DQN基礎/專用庫包安裝模…

微信小程序 wx.request() 的封裝

基于微信小程序的wx.request()方法封裝下面是一個封裝方案&#xff0c;滿足您提出的所有要求&#xff1a;class HttpService {constructor() {this.baseUrl ; // 基礎URLthis.pendingRequests new Map(); // 請求緩存池this.interceptors {request: [],response: []};}// 設…