[英]curl request with environment variable works but fails on python3 requests
我正在嘗試轉換這個有效的 curl 命令:
curl ipinfo.io/8.8.8.8/json?token=$TOKEN
到 python3 請求。 這是我當前的腳本:
#!/usr/bin/env python3
import requests
def getIPInfo ():
params = (
('token', '$TOKEN'),
)
response = requests.get('http://ipinfo.io/8.8.8.8/json', params=params)
print(response)
getIPInfo()
但是,當我運行它時,我得到了“錯誤 403”?
<Response [403]>
cURL 命令的$TOKEN
部分實際上從環境中提取了一個值。 您需要使用os.environ
在 Python 中完成相同的操作。
另外,我會為params
使用dict
,因為它比元組的元組更清晰一些。
#!/usr/bin/env python3
import requests
import os
def getIPInfo ():
params = {
'token': os.environ.get('TOKEN'),
}
response = requests.get('http://ipinfo.io/8.8.8.8/json', params=params)
print(response)
getIPInfo()
為什么我會返回“錯誤 403”?
因為您將字面意義上的"$TOKEN"
作為令牌傳遞。 相反,您需要傳入一個有效的身份驗證令牌。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.