簡體   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