python -第七節課之網路請求
阿新 • • 發佈:2020-09-19
網路請求發Get請求
import urllib
from urllib import request
import json
#模擬客戶端去請求
import requests
url='http://127.0.0.1:8888/login?username=niuhanyang&password=1'
req=request.urlopen(url)#get請求
# print(req.read().decode())
dic=json.loads(req.read().decode())#把字串轉成字典
print(dic)
print(type(dic))
發post請求
import requests
url='http://127.0.0.1:8888/login'data={'username':'niuhanyang2','password':'1'}
r=requests.post(url,data)
print(r.json())#字典介面的話想獲取返回的值就用get
print(r.text)#字串
print(r.content)#bytes型別
print(r.status_code)#返回的狀態碼
# print(r.json())#字典介面的話想獲取返回的值就用get
有時候介面傳到header也在url傳了引數和body也傳了
這種怎麼操作呢
params 傳到url後面的
r=requests.post(url,data,params={"version":1.0})
傳cookie怎麼傳引數呢
cookie = {'wp-settings-1':'1','PHPSESSID':'xxxxx'}
url='http://127.0.0.1:8888/login'
data={'username':'niuhanyang2','password':'1'}
r=requests.post(url,data=data,params={"version":1.0},cookies=cookie)
第二種方法使用headers
headers={'cookie':'cdssd'}
url='http://127.0.0.1:8888/login'
data={'username':'niuhanyang2','password':'1'}r=requests.post(url,data=data,params={"version":1.0},headers=headers)
如果Cookie比較少使用第一種,比較多就用第二種
如何請求時候傳檔案
url='http://127.0.0.1:8888/login'
data={'file':open('shuage.xles','rb')}
r=requests.post(url,files=data)
如何請求時候傳json
r=requests.post(url,data=data,params={"version":1.0},headers=headers,json=data)