[英]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.