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