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