1. 程式人生 > 實用技巧 >python -第七節課之網路請求

python -第七節課之網路請求

網路請求發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)