python列表中的请求问题

时间:2019-11-27 20:22:03

标签: python python-3.x request python-requests

我要在应用程序中发布phone,但又一次又一次出错。因为帖子的结构看起来像这样

data = {
         'login': 'login',
         'password': 'password',
         'data': '[{"user_id": "user_id","text": "key"}]'
       }

response = requests.post('url', data=data)

此代码的问题是user_idkey因为不是默认值,所以可以不同。如果我从列表中删除撇号。发生错误Array is not Json。如果我这样说

data = [
         {
           'login': 'login',
           'password': 'password',
           'data': {"user_id": user_id, "text": key}
         }
       ]
headers = {'Content-Type': 'application/json', 'Accept': 'application/json'}
response = requests.post('url', json=data, headers=headers)

它引发了另一个错误Login or Password is null。请问如何解决此问题?预先谢谢你!

1 个答案:

答案 0 :(得分:0)

如果我正确理解了这个问题,那么您想用一对变量中的值替换硬编码的用户ID和密钥。这不需要对有效负载的结构进行任何更改。尝试

import json

user_id = "..."
key = "..."

request_data = [{"user_id": user_id, "text": key}]

data = {
     'login': 'login',
     'password': 'password',
     'data': json.dump(request_data)
   }

response = requests.post('url', data=data)