Python 在带有Deepl API的POST请求中使用变量作为数据参数
我正在使用此脚本向DeeplAPI发出POST请求。在这种情况下,文本参数作为数据参数传递。我希望将文本作为变量传递,以便在其他脚本中使用它,但如果它不是数据参数,则无法发出post请求Python 在带有Deepl API的POST请求中使用变量作为数据参数,python,google-colaboratory,deepl,Python,Google Colaboratory,Deepl,我正在使用此脚本向DeeplAPI发出POST请求。在这种情况下,文本参数作为数据参数传递。我希望将文本作为变量传递,以便在其他脚本中使用它,但如果它不是数据参数,则无法发出post请求 url = "https://api.deepl.com/v2/translate?auth_key=xxxx-xxxx-xxx-xxxx-xxxxxxxxx" querystring = { "text" = "When we work out h
url = "https://api.deepl.com/v2/translate?auth_key=xxxx-xxxx-xxx-xxxx-xxxxxxxxx"
querystring = {
"text" = "When we work out how to send large files by email",
"target_lang" : "es"
}
response = requests.request("POST", url, data=querystring)
print(response.text)
是否可以使用文本作为变量发出此请求?
作为一个更好的例子,本文来自前面的脚本。如果将文本用作数据参数,则无法使用包含文本的前一个变量。如果文本来自前一个变量,我不能在数据参数中使用此变量。例如:
脚本之前的变量:
text=“当我们研究如何通过电子邮件发送大型文件时”
我想在POST请求中使用此文本变量
我想在POST请求中使用此文本变量
我很困惑。为什么不在POST请求中使用此文本作为变量
url = "https://api.deepl.com/v2/translate?auth_key=xxxx-xxxx-xxx-xxxx-xxxxxxxxx"
text = "When we work out how to send large files by email"
querystring = {
"text": text,
"target_lang": "es"
}
response = requests.request("POST", url, data=querystring)
print(response.text)
除此之外,原则上,当变量
querystring
不包含查询字符串时,不要调用它。正确命名事物很重要
就POST请求而言,您发布的数据是数据
,或有效负载
,或正文
:
body = {
"text": text,
"target_lang": "es"
}
response = requests.request("POST", url, data=body)
但即使不创建单独的变量也没有什么错:
response = requests.request("POST", url, data={
"text": text,
"target_lang": "es"
})
哦,好的。这个现在很好用。谢谢我正在学习使用python调用不同的API。有时候,最简单的事情变成了最难做的事情。原谅我的无知。也谢谢你关于如何命名数据的注释,我会记住的。我认为这个答案是正确的。@folloide这一切都很好,我不是真的在嘲笑你。:)它的意思是一个温和的轻推,而不是更多……接下来,创建一个函数,将
(text,target_lang)
作为参数并返回翻译。