用来访问接口的方式有两种:Get和Post
访问接口还区分是否传递参数发送请求
下面是我在工作中用的两个很简单的用python发送带传参的Get和Post请求程序
Get请求
# coding:utf-8
from urllib import request, parse
import json
# 下面是需要传递的参数
value = parse.urlencode({key1: value1, key2: value2})
# http请求头
headers = {key1: value1,
key2: value2}
# 请求url
req = request.Request('url?%s' % value, headers=headers) # 这样就能把参数带过去了
# 也可以用params关键字来传递这些参数
# 下面是获得响应
with request.urlopen(req) as f:
Data = f.read()
data = json.loads(Data)
print(data)
Post请求
# coding:utf-8
from urllib import request, parse
import json
# 下面是需要传递的参数
values = {
key1: value1,
key2: value2
}
# http请求头
headers = {key1: value1,
key2: value2}
# 请求url
req = request.Request(url, headers=headers, data=json.dumps(values).encode())
# 这里因为传递的参数是json格式的,所以需要转换成json
# 下面是获得响应数据
with request.urlopen(req) as f:
print('Status:', f.status, f.reason)
for k, v in f.getheaders():
print('%s: %s' % (k, v))
Data = f.read().decode('utf-8')
print(Data)
写的有些粗糙,欢迎指正。