【发布时间】:2018-09-05 23:16:38
【问题描述】:
我是编程初学者,目前正在尝试在引号之间调用函数。
在这里,更准确地说,我想用 88 替换 \"name\": \"name\" 中的名称。我怎样才能用所有这些引号来做到这一点?
提前感谢您的帮助
import requests
url = "https://api.multiloginapp.com/v1/profile/create"
def descr():
return 88
querystring = {"token":"xxxx"}
payload = "{\n\t\"generateZeroFingerprintsData\": true,\n \"name\": \"name\",\n \"OS\": \"MacOS\",\n \"platform\": \"MacIntel\",\n \"browserType\": \"mimic\",\n \"proxyHost\": \"0.0.0.0\",\n \"proxyPort\": 0,\n \"proxyIpValidation\": false,\n \"proxyType\": \"socks5\",\n \"maskFonts\": true,\n \"disablePlugins\": true,\n \"disableWebrtcPlugin\": true,\n \"disableFlashPlugin\": true,\n \"canvasDefType\": \"noise\",\n \"hardwareConcurrency\": 2,\n \"langHdr\": \"en-US,en;q=0.8\",\n \"timeZone\": \"US/Eastern\",\n \"audio\": {\n \"noise\": true\n },\n \"geolocation\": {\n \"permitType\": \"block\"\n },\n \"mediaDevices\": {\n \"audioInputs\": 1,\n \"audioOutputs\": 1,\n \"videoInputs\": 1\n },\n \"webgl\": {\n \"noise\": true\n },\n \"webRtc\": {\n \"type\": \"block\"\n },\n \"shared\": false\n\t},\n}"
headers = {
'Content-Type': "application/json",
'Cache-Control': "no-cache",
'Postman-Token': "xxx
}
response = requests.request("POST", url, data=payload, headers=headers, params=querystring)
print(response.text)
【问题讨论】:
-
首先,您似乎正在尝试生成一些 JSON。如果是这样,为什么不直接创建一个普通的字典,这很容易,然后调用
json.dumps呢?或者,更好的是,只需将 dict 传递给requests.post(url, json=payload, headers=headers)? -
我建议使用
json内置库将payload转换为 Python 字典,然后更改name键。