上一篇,我们介绍了几种种带参数的请求类型划分。这篇,通过github上的API,来一个个的参数接口的演示。
1、不带参数的get请求
# 导入requests包
import requests
# 1. 组装请求
url = "https://api.github.com" # 这里只有url,字符串格式
# 2. 发送请求,获取响应
res = requests.get(url) # res即返回的响应对象
# 3. 解析响应
print(res.json) # 输出响应的文本
res.json()方法实际上是使用了json.loads(res.text)将响应文本尝试以JSON格式转为字典。由于该方法存在异常(比如正常情况下返回JSON格式,500报错时则会返回非JSON格式的报错信息),建议使用try…except处理,修改如下。
import requests
url = 'https://api.github.com'
url_params = {
'name': '浩浩', 'age': '18'}
res = requests.get(url, params=url_params)
try:
print('响应文本转为字典', res.json())
except:
print('响应文本', res.text)
2、带参数的get请求
import requests
url = "https://api.github.com/openapi/api?key=ec961279f453459b9248f0aeb6600bbe&info=你好" # 参数可以写到url里
res = requests.get(url=url) # 第一个url指get方法的参数,第二个url指上一行我们定义的接口地址
print(res.text)
URL只支持ASCII(美国标准码),在实际的传输过程中,中文及一些特殊字符需要经过urlencode(URL编码)。如上例中的接口地址会被编码成:
https://api.github.com/get?name=%E4%B8%B4%E6%B8%8A&age=18
或者这样写`
import requests
url = "https://api.github.com/openapi/api"
params =