将字典参数转换为内联json请求

时间:2018-03-05 23:16:27

标签: python-2.7

我正在编写一个python脚本来尝试使用API​​访问Web服务。遗憾的是,API文档缺少有关如何发出请求的一些细节和示例。

我已经能够使用curl发出请求了,现在我想使用python来发出请求。我正在使用python 2.7.5并使用请求模块访问结束。

请注意,这似乎是获取请求而非邮寄请求。

下面是我的curl命令,它可以正常工作

curl -k -s --cookie-jar session_cookie "https://example.com8001?\{\"request\":\"login\",\"data\":\{\"login\":\"user-account\",\"password\":\"super-secret-password\"\}\}"

当我尝试在python中翻译它并使用字典时,我有以下内容:

#!/usr/bin/python

import json
import logging
import socket
import requests
import urllib
import os

## Stop bugging me about insecure stuff
from requests.packages.urllib3.exceptions import InsecureRequestWarning
requests.packages.urllib3.disable_warnings(InsecureRequestWarning)

logging.basicConfig(level=logging.DEBUG)

username = "user-account"
password = "super-secret-password"

custom_headers = {'Content-Type': 'application/json'}

server = socket.gethostname()
port = "8001"

spurl = "https://%s:%s" % (server, port)
spurl2 = 'https://%s:%s?{"request":"login","data":{"login":"user-account","password":"super-secret-password"}}'% (server, port)

r1 = requests.get(spurl2,  headers=custom_headers, verify=False)

现在,如果我手工制作网址,但我不想这样做,效果会很好。知道如何将字典对象转换为内联json请求吗?

提前致谢。

-Nigel

0 个答案:

没有答案