你如何在Python中发布和接收cookie?

时间:2011-11-12 20:24:24

标签: python cookies login jira

我正在尝试使用他们的REST api创建一个登录JIRA的python脚本。为此,我需要将登录表单(使用用户名和密码)发送到JIRA服务器并存储检索到的cookie(最好是作为文件中的字段)。

这是登录文档: http://confluence.atlassian.com/display/JIRA042/JIRA+REST+API+(Alpha)+Tutorial#JIRARESTAPIAlphaTutorial-LoggingIn

这是一个正常工作的curl命令,可以完全按照我的意愿执行:

curl -c cookie_jar -H "Content-Type: application/json" -d '{"username" : "admin", "password" : "hunter2"}' http://localhost:8080/rest/auth/latest/session

我如何在Python中复制它?最好没有任何额外的库。

1 个答案:

答案 0 :(得分:2)

你应该使用LWPCookieJar

import urllib, urllib2, cookielib
url='http://localhost:8080/rest/auth/latest/session'
post={"username" : "admin", "password" : "hunter2"}
post_data=urllib.urlencode(post)
cookie = cookielib.LWPCookieJar()
opener = urllib2.build_opener(urllib2.HTTPCookieProcessor(cookie))
opener.open(url,post_data)
cookie.save('cookie_filename', True)