2024-09-27 17:55:26 发布
网友
我做这个curl请求是为了在python中获取一些数据,如何获取curl请求的会话id,以便再次重用。
commands.getoutput("curl -H \"Content-Type:application/json\" -k -u username:password -X GET https://10.39.11.4/wapi/v2.7/member -s"
curl有一个内置的cookie jar,用于存储cookie并将它们发送回服务器。
为了在cookie jar中存储cookies,我们使用-c标志并给它一个我们希望存储cookies的文件名。
$ curl -X POST -c cookies.txt -u "user1:password1" website.com/login $ cat cookies.txt # Netscape HTTP Cookie File # http://curl.haxx.se/docs/http-cookies.html # This file was generated by libcurl! Edit at your own risk. #HttpOnly_quiet-waters-1228.herokuapp.com FALSE / FALSE 0 _curl_test_app_rails_ session cm53d2RJN1VncV........
在这里您可以找到会话ID。
如Daniel Stenberg所述:
在随后的curl命令行中使用-b cookies.txt来使用这些cookies
您应该检查请求库,它有如下描述的会话管理:http://docs.python-requests.org/en/master/user/advanced/#session-objects
s = requests.Session() s.auth = ('username', 'password') s.headers.update({'Content-Type': 'application/json'}) r = s.get('https://10.39.11.4/wapi/v2.7/member')
如果要保存会话并加载它,应使用dict_from_cookiejar和cookiejar_from_dict如下:
# Save session s_dict = requests.utils.dict_from_cookiejar(s.cookies) # Load session cookies = requests.utils.cookiejar_from_dict(s_dict) s = requests.session(cookies=cookies)
curl有一个内置的cookie jar,用于存储cookie并将它们发送回服务器。
为了在cookie jar中存储cookies,我们使用-c标志并给它一个我们希望存储cookies的文件名。
在这里您可以找到会话ID。
如Daniel Stenberg所述:
在随后的curl命令行中使用-b cookies.txt来使用这些cookies
您应该检查请求库,它有如下描述的会话管理:http://docs.python-requests.org/en/master/user/advanced/#session-objects
如果要保存会话并加载它,应使用dict_from_cookiejar和cookiejar_from_dict如下:
相关问题 更多 >
编程相关推荐