使用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种接口的访问方式。

 

posted @ 2018-05-15 18:49  唯安格  阅读(187)  评论(0编辑  收藏  举报