我可以在 python 中返回一个 String 和 Dict 吗?

sai*_*sai 0 python

以下是我的代码片段。如何修改我的 getUrlAndHeader(),以便我的 requests.post 工作。现在,如果我使用 getUrlAndHeader() ,我会得到 404 响应。有人可以帮忙吗?

import requests
def getUrlAndHeader():
    return "https://someurl.com, headers={'key1': 'val1', 'key2': 'val2'}"

if __name__ == "__main__":
    #200#response = requests.post("https://someurl.com", headers={'key1': 'val1', 'key2': 'val2'}, json=[])
    #404#response = requests.post(getUrlAndHeader(), json=[])
    #print response
Run Code Online (Sandbox Code Playgroud)

che*_*ner 5

您正在尝试返回单个字符串。你可以返回一个元组,比如

def getUrlAndHeader():
    return "https://someurl.com", {'headers': {'key1': 'val1', 'key2': 'val2'}}
Run Code Online (Sandbox Code Playgroud)

但您将无法将返回值直接传递给post. (没有任何东西可以作为位置参数和关键字参数的组合来解压。)相反,请执行类似的操作

if __name__ == "__main__":
    url, other = getUrlAndHeader()
    response = requests.post(url, json=[], **other)
Run Code Online (Sandbox Code Playgroud)