Python请求正文自动添加单引号

时间:2019-03-20 21:15:29

标签: python json python-requests

在我的python脚本中,我试图遍历包含域名的文本文件,并将其填充到我的JSON请求正文中。 API调用所需的正确格式为

payload =   {
"threatInfo": { 
  "threatEntries": [
   {"url": "http://malware.wicar.org/"}, {"url": "http://urltocheck2.org"},

  ]
}
}

我用来复制此变量的变量称为mystring

domain_list_formatted = []

for item in domain_list:
    domain_list_formatted.append("""{"url": """ + '"{}"'.format(item) + "},")

domain_list_formatted_tuple= tuple(domain_list_formatted)

mystring = ' '.join(map(str, (domain_list_formatted_tuple)))

打印mystring会得到需要传递给有效负载变量的结果

{"url": "http://malware.wicar.org/"},
{"url": "http://www.urltocheck2.org/"},

但是,我想循环此循环,所以我添加了以下循环

for item in domain_list_formatted_tuple:
   printcorrectly = ' '.join(map(str, (domain_list_formatted_tuple)))   
   payload["threatInfo"]["threatEntries"] = [printcorrectly]

这是结果:

['{"url": "http://malware.wicar.org/"}, {"url": "http://www.urltocheck2.org/"}']

括号外的单引号将其完全删除。 for循环如何以造成此问题的方式修改或编码有效负载?您的帮助将不胜感激。

1 个答案:

答案 0 :(得分:0)

您的代码:

for item in domain_list_formatted_tuple:
   printcorrectly = ' '.join(map(str, (domain_list_formatted_tuple)))   
   payload["threatInfo"]["threatEntries"] = [printcorrectly]

应该是:

for item in domain_list_formatted_tuple:
   printcorrectly = ' '.join(map(str, (domain_list_formatted_tuple)))   
   payload["threatInfo"]["threatEntries"] = printcorrectly

printcorrectly周围没有括号

如果有:

a = ['xxx']
print(a)

您将获得带有括号和引号的输出['xxx']