我正在尝试模仿经过身份验证的JSON请求。我正在使用“请求”模块来执行此操作。
import requests
import json
url = "https://"
headers = {
'Host': 'example.com',
'content-type': 'application/json',
'Connection': 'keep-alive'
}
data = {
"asdsdsd": {
"AppName": "esdf",
"Language": "EN",
"fsef": [
{
"sfddf": [
{
"sdfsdfsdf": "sdfsdfsdf"
}
]
}
]
},
"sdfdf": {
"sdfsdf": "sdfsdfsdf"
}
}
r = requests.post(url, data=json.dumps(data), headers=headers ,verify=False)
如何将经过身份验证的Cookie包含在此中。
我可以使用浏览器打开此请求(带有标题和数据),然后我就可以使用浏览器的经过身份验证的Cookie。
有没有办法做到这一点?
答案 0 :(得分:1)
使用Session
object管理Cookie。
s = requests.Session()
# load initial page to get session cookies set, perhaps a CSRF token
loginform = s.get(loginurl)
# post login information to the form
s.post(someurl, data={...})
# post JSON with session with authentication cookie
s.post(someurl, ...)
答案 1 :(得分:0)
headers = {
'Host': 'example.com',
'content-type': 'application/json',
'Connection': 'keep-alive'
}
session = requests.session()
session.headers=headers
您可以使用会话进行发布
session.post(url, data=json.dumps(data) ,verify=False)
答案 2 :(得分:0)
您可以将您的数据直接传递到请求中的Cookie形式,如下所示:
data = {
"sessionid":"yoursessionidorsomethingelseidontcarelolwtfhelloworld"
}
url = "https://youramazingurl.com/list_some_private_data"
res = requests.get(url, cookies=data)
完成:)