请求使用json作为数据

时间:2018-02-13 12:07:09

标签: python json rest testing

我希望从发布请求获得对需要密码和json数据作为输入的网站的响应。代码如下所示:

import requests
from requests.auth import HTTPBasicAuth
import json


url = 'http://ssss.ct.xxx:9000/xxx.xx_xxx/xxxx/get/json/'
data = '''{"RowSelectors":[{"Name":"xx","Value":"100649","Operation":"OR" },
{"Name":"xx","Value":"577","Operation":"OR" }],"TableName":"YY"}'''

response = requests.post(url, data=json.loads(data), auth = HTTPBasicAuth('my_user', 'my_password'))
print(response)

并且打印功能向我显示了响应[415]",这是"不支持的媒体类型"错误。我希望它从变量" data"中的查询中返回一个结果。我知道这些数据可能有问题,但我不知道如何解决这个问题。

我也尝试过使用另一个库:

import urllib.request
import urllib.parse
import json
data1 = '''{"RowSelectors":[{"Name":"xx","Value":"100649","Operation":"OR" },
{"Name":"xx","Value":"577","Operation":"OR" }],"TableName":"YY"}'''

data1= json.loads(data1)
params = urllib.parse.urlencode(data1)
x = urllib.request.Request('http://ssss.ct.xxx:9000/xxx.xx_xxx/xxxx/get/json/', data=params)
y= urllib.request.urlopen(x, data = params)

print(y.read())

但它也不起作用。这种情况下的错误是:POST数据应该是字节,可迭代的字节或文件对象。它不能是str类型。我不明白我应该如何在此代码中包含用户和密码的文档。

其他可能有用的信息:我使用soapUI,我有3个输入,我想要。首先是endpoint = http://ssss.ct.xxx:9000,然后是其资源= / xxx.xx_xxx / xxxx / get / json /以及用数据写入的SQL查询。我希望我的回复能成为json的一张桌子。

我感谢任何帮助;)

0 个答案:

没有答案