为什么要用python调用第三方接口?
以往总是会想当然的认为,调用第三方接口只能是前端的工作,但最近在做一个程序时发现,这项工作完全可以使用python来解决,挺惊喜的,毕竟这样就可以在不涉及前端的情况下,获取一些第三方的数据。
需要什么库?
requests
没错,就是那个在爬虫中常用的库
参考:Python requests 模块 | 菜鸟教程 (runoob.com)
有哪些请求方式?
常规后端接收请求的方式它都是支持的,最常见的当然是get和post
如何使用?
这里只例举get请求和post请求中最常见的方式,详细可见:Python requests 模块 | 菜鸟教程 (runoob.com)
get请求
最原始的get请求
import requests
res = requests.get('http://api.botwl.cn/api/yiyan')
print(res.text)
修改headers的get请求
import requests
headers={
# 这个数据需要由自己的浏览器来决定
'User-Agent': '***'
}
res = requests.get('http://api.botwl.cn/api/yiyan', headers=headers)
print(res.text)
当然,这里的headers可以添加content-type,cookie等参数,关于headers的参数在哪里找,python爬虫总结 - 临安剑客 - 博客园 (cnblogs.com) 这篇里面讲了一些
post请求
post请求相较于get请求,参数肯定是少不了的
import requests
headers = {
'content-type': '***',
'User-Agent': '***',
'Cookie': '***'
}
url = '***'
params = {
'key1': 'value1',
'key2': 'value2',
'***':'***'
}
res = requests.post(url, json=params, headers=headers)
print(res.text)
可以没有headers,但访问有些网址必须要有
总结
python语言的库总是能给我带来惊喜。关于调用第三方接口,requests库可以帮助我们解决不使用前端(前端一般是ajax请求)的情况下获取其它后端的数据。我们可以通过在网上抓包,再配合requests库实现一些意想不到的程序功能。
标签:调用,请求,get,python,res,接口,headers,requests From: https://www.cnblogs.com/huang-guosheng/p/16704038.html