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表示指定返回结果为二进制

 

posted @ 2019-05-24 16:53  情绪疯子  阅读(2255)  评论(0编辑  收藏  举报