Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/python-3.x/18.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 3.x Python requests.post响应主体表示b';错误的容量值和错误的标题_Python 3.x - Fatal编程技术网

Python 3.x Python requests.post响应主体表示b';错误的容量值和错误的标题

Python 3.x Python requests.post响应主体表示b';错误的容量值和错误的标题,python-3.x,Python 3.x,我正在尝试分析我的回复后正文: 当我执行curl时,我的服务将返回以下响应: curl -v -POST -H 'Content-type: application/json' http://localhost:6543/myservice -d '{"problem": {"capacity": 60, "weights": [10, 20, 33], "values": [10, 3, 30]}' * Trying 127.0.0.1... * TCP_NODELAY set * Con

我正在尝试分析我的回复后正文: 当我执行curl时,我的服务将返回以下响应:

curl  -v -POST -H 'Content-type: application/json' http://localhost:6543/myservice -d '{"problem": {"capacity": 60, "weights": [10, 20, 33], "values": [10, 3, 30]}'

* Trying 127.0.0.1...
* TCP_NODELAY set
* Connected to localhost (127.0.0.1) port 6543 (#0)
> POST /myservice HTTP/1.1
> Host: localhost:6543
> User-Agent: curl/7.60.0
> Accept: */*
> Content-type: application/json
> Content-Length: 76
> 
* upload completely sent off: 76 out of 76 bytes
< HTTP/1.1 200 OK
< Content-Length: 279
< Content-Type: application/json
< 
{
"problem" : {
    "capacity" : 60,
    "values" : [
        10,
        3,
        30
    ],
    "weights" : [
        10,
        20,
        33
    ]
},
"solution" : "{}",
"status" : "submitted",
"task" : "1001",
"timestamps" : {
    "completed" : "null",
    "started" : "null",
    "submitted" : "1552052954"
}
* Connection #0 to host localhost left intact
}
两个人之间有什么问题?为什么我的python响应没有打印主体? 同样令人惊讶的是,标题的输出也是错误的:
{'Connection':'close','Content Length':'20'}

您可以发送字典本身(换句话说,API允许您以这样一种方式编写代码,看起来您正在发送非常
的dict
对象):


您可以发送字典本身(换句话说,API允许您以这样一种方式编写代码,即看起来您正在发送非常
dict
对象):

post_url = "http://localhost:6543/myservice"
data = {"problem": {"capacity": 60, "weights": [10, 20, 33], "values": [10, 3, 30]}}

data_json = json.dumps(data)
res = requests.post(post_url, json={"text": data_json}, headers=    {'Content-Type': 'application/json'})
print(res.text)
print(res.headers)

Output:
{'Connection': 'close', 'Content-Length': '20'}
Wrong capacity Value
res = requests.post(post_url,
    json=data, # not `data_json`
    ...)