一元网络论坛

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 41|回复: 0

Python脚本请求API时遇到403错误,该如何解决?

[复制链接]

1万

主题

1万

帖子

5万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
57131
发表于 2024-9-6 13:30:53 | 显示全部楼层 |阅读模式
## 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)
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|一元网络论坛

GMT+8, 2024-9-21 08:06 , Processed in 0.111666 second(s), 19 queries .

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表