|
## API
[https://libgen.li/json.php?object=e&doi=10.2117/psysoc.2017.68&fields=commentary](https://libgen.li/json.php?object=e&doi=10.2117/psysoc.2017.68&fields=commentary)
## 操作
1. 使用 Postman 和浏览器访问,状态码均为 200。
2. 使用 Postman 将 API 转换为 Python requests 代码并保存到 py 文件,执行脚本后,状态码返回 403。将 API 转换为 CURL 命令同样出现相同情况。
3. 添加 Referer、User-Agent 和 Postman 请求头参数,在 Python 脚本中仍然返回 403。
4. 直接在浏览器地址栏中回车,即可获取结果,在隐私窗口中也同样可以。
5. 未使用代理。切换手机热点(电信)后,提示连接失败。
## 问题
如何让 Python 脚本请求上述 URL 获取 200 状态码,并返回结果?
```python
import requests
url = "https://libgen.li/json.php?object=e&doi=10.2117/psysoc.2017.68&fields=commentary"
payload = {}
headers = {}
response = requests.request("POST", url, headers=headers, data=payload)
print(response.text)
```
正确结果示例:
![image](https://linux.do/uploads/default/original/3X/3/d/3d73deb002a3ffa8b5d984edc73fb6a31b31e29a.png) |
|