使用requests模块的网络编程
python操作网络,也就是打开一个网站,或者请求一个http接口,本篇是介绍使用request模块的使用方式。
在使用requests模块之前需要先安装,在cmd中输入:pip install requests 即可。以下是各种接口的访问操作:
1)、发get请求
1 url = 'http://api.nnzhp.cn/api/user/stu_info' #接口的URL 2 data = {'stu_name':'小黑'} #请求数据,就是请求接口需要的参数,这个需要看具体的接口说明 3 req = requests.get(url,params=data) #发get请求 4 print(req.json()) #字典 也就是请求接口返回的结果
2)、发post请求
url = 'http://api.nnzhp.cn/api/user/login' #接口的URL data = {'username':'niuhanyang','passwd':'aA123456'} #请求数据 req = requests.post(url,data) #发送post请求 print(req.json()) #请求接口返回的结果
3)、入参是json类型的
import random phone=random.randint(10000000000,99999999999) #随机生成11位手机号码,在json里面使用 url='http://api.nnzhp.cn/api/user/add_stu' data = { "name":"小1", "grade":"天蝎座", "phone":phone, "sex":"男", "age":28, "addr":"河南省济源市北海大道32号" } req = requests.post(url,json=data) print(req.json())
4)、添加cookie
url = 'http://api.nnzhp.cn/api/user/gold_add'#接口地址 data = {'stu_id':468,'gold':10000}#请求参数 djl = {'niuhanyang':'337ca4cc825302b3a8791ac7f9dc4bc6'}#cookie req = requests.post(url,data,cookies=djl)#发送post请求 print(req.json())
5)、添加header
nzhp.cn/api/user/all_stu' header = { 'Referer':'http://api.nnzhp.cn/' } req = requests.get(url,headers=header)#发送请求 print(req.json())
6)、上传文件
url= 'http://api.nnzhp.cn/api/file/file_upload'#接口地址 data = { 'file':open(r'C:\Users\bjniuhanyang\Desktop\图\6bd9026dt935575932465&690.jpg','rb') }#上传图片,图片时二进制,需要使用'rb'模式 req= requests.post(url,files=data) print(req.json())
7)、下载文件
url = 'http://up.mcyt.net/?down/46779.mp3'#下载文件的地址 req = requests.get(url)#发送get请求 fw = open('aaa.mp3','wb')#图片使用‘wb’模式 fw.write(req.content)
以上举例说明7种接口的访问方式。