繁体   English   中英

带有环境变量的 curl 请求有效,但在 python3 请求上失败

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

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