proxy - 使用需要通过 pybliometrics 进行身份验证的代理
问题描述
我正在使用pybliometrics(Scopus API 的 Python 接口)来下载一些论文的摘要。
不幸的是,Scopus 只在订阅它的大学网络内工作。我目前在家,每当我尝试使用 pybliometrics 下载内容时,都会出现以下错误:
pybliometrics.scopus.exception.Scopus401Error: The requestor is not authorized to access the requested view or fields of the resource
我需要使用我大学的代理才能使用我大学的 IP 地址进入互联网。代理有一个可用的 WPAD 配置文件,但我没有意识到如何将它与 pybliometrics 一起使用。pybliometrics文档说要在配置文件中添加一个块,如下所示:
[Proxy]
ftp = socks5://127.0.0.1:1234
http = socks5://127.0.0.1:1234
https = socks5://127.0.0.1:1234
但是这个代理需要身份验证。如何指定代理用户名和密码?
编辑:我尝试在 config.ini 中设置块,例如:
[Proxy]
ftp = http://username:password@proxy.thing.it:8080
http = http://username:password@proxy.thing.it:8080
https = http://username:password@proxy.thing.it:8080
但它仍然失败并显示以下错误消息:
requests.exceptions.ProxyError: HTTPSConnectionPool(host='api.elsevier.com', port=443): Max retries exceeded with url: /content/abstract/scopus_id/84983158344?view=META_ABS (Caused by ProxyError('Cannot connect to proxy.', OSError('Tunnel connection failed: 407 Proxy Authentication Required')))
解决方案
从我们的角度来看,只要代理配置正确,API 就可以通过代理工作。我建议您与代理提供商联系,看看他们是否可以提供帮助。
我们没有关于如何通过代理使用 API 的具体说明(因为有许多潜在的不同版本和潜在配置);但是,一般说明在这里:
https://service.elsevier.com/app/answers/detail/a_id/29026/supporthub/elsevieraccess/
推荐阅读
- c# - 如何在 Android 和 Wasm 中强制重新计算 NavigationView?
- excel - vba疑难解答使用VBProject.VBComponents调用宏
- python-3.x - 是否可以使用 Python3 制作卸载软件?
- python - 如何使用另一个字典作为 Python 中的键来过滤字典?
- google-cloud-platform - Stackdriver 未能根据自定义指标创建警报
- python - 是否有使用相应的脚本 Python 自动旋转 .STEP 文件的解决方案?
- react-native - 与 React Native App 集成代码编辑器
- c++ - 内联函数是否在它们内联的函数中保留它们的上下文
- android - 如何从数组列表中获取数据并在 Recyclerview 适配器中显示该数据?
- reactjs - ReactJS 的圆形单选选项