python3 requests 各種發送方式詳解
大凡人世間的痛苦,多是因放不下有時候我常想,痛苦,該是時光刮給生命的一場颶風吧生活,本就是以這樣一種特別的方式,掀起遮蓋的一切,讓你看到人生的真相。
一、什麼是requests,怎麼安裝
requests 是python 的一個模擬發送請求的庫, 基本上調用別人接口的時候,這個是現在主流
安裝的話 直接pip就行瞭
pip install requests
二、requests 模塊的使用
我們通常進行請求之前都會先去postman上面去模擬一遍,看是否請求的通,然後再進行接口模擬,下面的介紹都是一個postman的圖 之後就是用請求的代碼這樣看起來比較直觀一點
2.1 get請求(最基本的請求)
直接進行一個get請求的代碼是這樣的
# 導入模塊 import requests # 定義請求地址 url = 'http://www.baidu.com/' # 定義自定義請求頭 headers = { "User-Agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/90.0.4430.85 Safari/537.36" } # 定義 GET 請求參數 params = { "kw":"dzw" } # 使用 GET 請求參數發送請求 response = requests.get(url,headers=headers,params=params) # 獲取響應的 html 內容 html = response.text
2.2 post請求 form-data 格式的
這樣是post 表單傳參,這樣基本上也用來文件上傳
# 導入模塊 import requests # 定義請求地址 url = 'https://dzw.news.qq.com/pet/send' # 定義 fomedata 請求參數 m = MultipartEncoder( fields={"uid":"4054942","gift":"4"} ) # 定義自定義請求頭 並且制定類型 headers = { "User-Agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/90.0.4430.85 Safari/537.36", "Content-Type":m.content_type } # 使用 POST 請求參數發送請求 response = requests.post(url,headers=headers,data= m) # 獲取響應的 html 內容 html = response.text
2.3 post 請求上傳文件和別的參數
這裡是文件和dirCode 兩個參數 在post請求的時候 就要把他單獨來傳
# 導入模塊 import requests # 定義請求地址 url = 'http://127.0.0.1:8183/oss/uploadFile' headers = { # 註意這裡不能指定 Content-Type "User-Agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/90.0.4430.85 Safari/537.36" } # 這裡指定dirCode 別的參數 m = { "dirCode": "1002" } # 這裡指定文件 files = {'file': open('站點基礎數據錄入模板.xlsx', 'rb')} # 使用 POST 請求參數發送請求 response = requests.post(url,headers = hearders, data= m,files = files) # 獲取響應的 html 內容 html = response.text
2.4 post 請求 json 形式的(常用)
這個是最常用的json形式的傳參
# 導入模塊 import requests # 定義請求地址 url = 'http://127.0.0.1:8183/notice/test' headers = { # 這裡指定 Content-Type 是json 格式的 "Content-Type":"application/json", "User-Agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/90.0.4430.85 Safari/537.36" } # 指定參數 data = { "id":"dzw", "recipientPeopleList":["d6576263-4868-4420-a91b-17f3993582ff","e332a43a-9ab5-4827-a5f8-92acb2469bb9","d3cd8347-5a08-4c22-99ed-df153cbe6f41"] } # 發起請求 註意 data 是放在json 裡面的 response = requests.post("http://127.0.0.1:8183/notice/test",headers = hearders, json = data) # 打印參數 print(response.text)
三、總結
在使用這個庫進行請求的時候,經常會忘瞭之前的哪種請求怎麼用的,然後踩瞭一些坑 正好這裡寫下來記錄一下
到此這篇關於python3 requests 各種發送方式的文章就介紹到這瞭,更多相關python requests發送內容請搜索WalkonNet以前的文章或繼續瀏覽下面的相關文章希望大傢以後多多支持WalkonNet!
推薦閱讀:
- Python爬蟲報錯<response [406]>(已解決)
- 詳解Python requests模塊
- Python實現復制文檔數據
- Python爬取求職網requests庫和BeautifulSoup庫使用詳解
- 還在手動蓋樓抽獎?教你用Python實現自動評論蓋樓抽獎(一)