我正在尝试从API https://www.techinasia.com/wp-json/techinasia/2.0/posts获取数据。 但我得到的HTTP响应为418。 解决该问题的可能方法是什么?
url ='https://www.techinasia.com/wp-json/techinasia/2.0/posts'
response = requests.get(url)
print(type(response),response)```
Output:
<class 'requests.models.Response'> <Response [418]>
答案 0 :(得分:2)
通过您选择的用户代理即可获得响应。请求会调用HTTP get请求,但有时服务器需要使用用户代理,部分/完整的标头,参数或cookie来对请求进行身份验证。
在这种情况下,您只需要一个用户代理,实际上您甚至不需要传递有效的用户代理。
import requests
headers = {
'User-Agent': 'M',
}
requests.get('https://www.techinasia.com/wp-json/techinasia/2.0/posts',headers=headers)
<Response [200]>
您必须在HTTP请求中指定标头(请求的get方法),并为此提供一个参数headers
。 headers参数应包含一个python字典。