繁体   English   中英

python requests.get ValueError: int() 以 10 为基数的无效文字:''

[英]python requests.get ValueError: invalid literal for int() with base 10: ''

这是我的代码:

import requests
r = requests.get("https://api.github.com/events")

我使用请求模块,但它失败了。 我不知道为什么终端显示

ValueError: invalid literal for int() with base 10: ''

在此处输入图像描述

问题在于 requests 模块本身,它表示错误在模块的 utils.py 文件中。 这是一个应该为请求模块提交的错误。 请注意,在第 68 行,它尝试从系统获取 Internet 代理设置并将注册表值解析为 int。 但是,在这种情况下,不是 windows 注册表查询返回 0 或 1,而是返回 '',因此 int() function 失败。 在尝试将返回值解析为 int 之前,他们必须做出条件语句。 如果 '' 到 0,如果 '0' 到 int('0') 和 '1' 到 int('1')。 或者抓住 ValueError 并在那里处理问题。 所以这个模块目前只适用于linux和其他不通过这个例程的系统。

在此处输入图像描述

这就是诀窍: 在此处输入图像描述

我在项目的 GitHub https 中打开的问题的链接://github.com/psf/requests/issues/6104

编辑:项目的一位贡献者将其识别为一个错误,并计划在下一个里程碑中对其进行更正。

编辑:更正已发布

这没有直接帮助,但可能会缩小范围。 我在 Linux 上试过这段代码,效果很好。

import requests
r = requests.get("https://api.github.com/events")
print(r)

<响应 [200]>

编辑:Python3 和 Linux Mint 20.2

使用此代码而不是您自己的代码:

import requests
url = 'https://api.github.com/events'
r = requests.get(url)
print(r.response)

也许工作。 但是,我在我的解释器中使用了你的代码并且它很好并且工作(:

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM