Python-网络编程之接口调用
# import urllib # python自带的发网络请求的模块(不好用)
import requests # python发网络请求的模块(好用)
# get请求=================
url = 'xxxxxxxxxxx' # 接口地址
d ={'stu_name':'矿泉水2'} # 请求参数
rep = requests.get(url,d) # 发送get请求
print(rep.json()) # 返回字典类型
print(rep.text) # 返回字符串类型
# post请求================
url1 = 'xxxxxxxxxxxxx' # 接口地址
d1 ={'username':'xxx','passwd':'xxx'} # 请求参数
rep1 = requests.post(url1,d1) # 发送post请求
print(rep1.json()) # 返回字典类型
print(rep1.text) # 返回字符串类型
# 需要cookie的post请求====
url = 'xxxxxxxxxxxxx' # 接口地址
data = {'stu_id':2,'gold':1111} # 请求参数
# 方式一:直接传cookie
cookie = {'niuhanyang':'dhadhjadgshajdgsahdgsaj'} # cookie
req = requests.post(url,data,cookies=cookie) # 发送需要cookie的post请求
print(req.text) # 返回字符串类型
# 方式二:利用header传cookie
cookie2 = {'cookie':'niuhanyang=dhadhjadgshajdgsahdgsaj'} # cookie
req2 = requests.post(url,data,headers=cookie2) # 发送需要cookie的post请求,将cookie写入headers中
print(req2.text)
# cookie较多时,使用header方式较为方便
# 入参是json形式的post请求====
data = {
'name':'矿泉水33333',
'grade':'双子座',
'phone':'123454333',
'sex':'未知',
'addr':'天通苑',
'age':38
} # 请求参数
url = 'xxxxxxxxxxxxxxxx' # 接口地址
req = requests.post(url,json=data) # 发送请求
print(req.text) # 返回字符串类型
# 上传文件(post请求)
url = 'xxxxxxxxxxxxx' # 接口地址
data = {'file':open(r'C:\Users\yss\Desktop\上传文件.txt','rb')} # rb表示文件打开方式,b表示二进制,文件上传时需要二进制才行
req = requests.post(url,file=data) # 发送请求
print(req.text) # 返回字符串类型
# 下载文件(get请求)
url = 'http://aliuwmp3.changba.com/userdata/userwork/12107482.mp3' # 要下载的文件地址
req = requests.get(url) # 发送请求
with open(r'C:\Users\yss\Desktop\aqmm.mp3','wb') as fw: # 将下载内容写入文件,wb表示二进制写入
fw.write(req.content) # 写入文件;req.content表示返回结果,content表示指定返回结果为二进制