python 關於request和requests用法的區別


1.urllib模塊是python自帶的,直接調用就好,用法如下:

處理get請求,不傳data,則為get請求
import urllib 
from urllib.request import urlopen 
from urllib.parse import urlencode 
url='http://127.0.0.1:1990/login'
data={"username":"admin","password":123456} 
req_data=urlencode(data)		#將字典類型的請求數據轉變為url編碼
res=urlopen(url+'?'+req_data)	#通過urlopen方法訪問拼接好的url
res=res.read().decode()			#read()方法是讀取返回數據內容,decode是轉換返回數據的bytes格式為str
print(res)
處理post請求,如果傳了data,則為post請求
import urllib
from urllib.request import urlopen
from urllib.request import Request
from urllib.parse import urlencode
url='http://127.0.0.1:1990/login'
data={"username":"admin","password":123456}
data=urlencode(data)		#將字典類型的請求數據轉變為url編碼
data=data.encode('ascii')	#將url編碼類型的請求數據轉變為bytes類型
req_data=Request(url,data)	#將url和請求數據處理為一個Request對象,供urlopen調用
with urlopen(req_data) as res:     
	res=res.read().decode()	#read()方法是讀取返回數據內容,decode是轉換返回數據的bytes格式為str
print(res)

2.相比較urllib模塊,requests模塊要簡單很多,具體用法如下:

get請求
import requests 
url='http://127.0.0.1:1990/login'
data={"username":"admin","password":123456} 
res=requests.get(url,data)	#直接用requests.get(url,data)即可,其中.get表示為get方法,不需要對字典類型的data進行處理
res=res.text				#text方法是獲取到響應為一個str,也不需要對res進行轉換等處理
res=res.json()				#當返回的數據是json串的時候直接用.json即可將res轉換成字典
print(res) 
post請求
import requests12 url='http://127.0.0.1:1990/login'
data={"username":"admin","password":123456}
res=requests.post(url,data)	#直接用requests.post(url,data)即可,其中.post表示為post方法,不需要對字典類型的data進行處理
res=res.text		#text方法是獲取到響應為一個str,也不需要對res進行轉換等處理
res=res.json()		#當返回的數據是json串的時候直接用.json即可將res轉換成字典
print(res)

#當傳參格式要求為json串時
import requests
url='http://127.0.0.1:1990/login'
data={"username":"admin","password":123456}
res=requests.post(url,json=data)	#只需要在這里指定data為json即可
res=res.text		#text方法是獲取到響應為一個str,也不需要對res進行轉換等處理
res=res.json()		#當返回的數據是json串的時候直接用.json即可將res轉換成字典
print(res)

#傳參含cookie
import requests
url='http://127.0.0.1:1990/login'
data={"username":"admin","password":123456}
cookie={"sign":"123abc"}
res=requests.post(url,json=data,cookies=cookie)	#只需要在這里指定cookies位cookie即可,headers,files等類似
res=res.json()
print(res)

————————————————
版權聲明:本文為CSDN博主「yaooye」的原創文章,遵循CC 4.0 BY-SA版權協議,轉載請附上原文出處鏈接及本聲明。
原文鏈接:https://blog.csdn.net/qq_42196922/article/details/81356833


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM