title: How to make a Python HTTP Request with POST data and Cookie?
body: <p>I am trying to do a HTTP POST using cookies in Python.</p>
  
  <p>I have the values of URL, POST data and cookie.</p>
  
  <pre><code>import urllib2
  url="http://localhost/testing/posting.php"
  data="subject=Alice-subject&amp;addbbcode18=%23444444&amp;addbbcode20=0&amp;helpbox=Close+all+open+bbCode+tags&amp;message=alice-body&amp;poll_title=&amp;add_poll_option_text=&amp;poll_length=&amp;mode=newtopic&amp;sid=5b2e663a3d724cc873053e7ca0f59bd0&amp;f=1&amp;post=Submit"
  cookie = "phpbb2mysql_data=a%3A2%3A%7Bs%3A11%3A%22autologinid%22%3Bs%3A0%3A%22%22%3Bs%3A6%3A%22userid%22%3Bs%3A1%3A%223%22%3B%7D; phpbb2mysql_t=a%3A9%3A%7Bi%3A3%3Bi%3A1330156986%3Bi%3A1%3Bi%3A1330160737%3Bi%3A5%3Bi%3A1330161702%3Bi%3A6%3Bi%3A1330179284%3Bi%3A2%3Bi%3A1330160743%3Bi%3A7%3Bi%3A1330163187%3Bi%3A8%3Bi%3A1330164442%3Bi%3A9%3Bi%3A1330164739%3Bi%3A10%3Bi%3A1330176335%3B%7D; phpbb2mysql_sid=5b2e663a3d724cc873053e7ca0f59bd0"
  #creating HTTP Req
  req = urllib2.Request(url,data,cookie)
  
  f = urllib2.urlopen(req)
  print f.read()
  </code></pre>
  
  <p>However, if I try to run the program, it is throwing an error:</p>
  
  <pre><code>Traceback (most recent call last):
    File "task-4.py", line 7, in &lt;module&gt;
      req = urllib2.Request(url,data,cookie)
    File "/usr/lib/python2.6/urllib2.py", line 197, in __init__
      for key, value in headers.items():
  AttributeError: 'str' object has no attribute 'items'
  </code></pre>
  
  <p>I have two questions:
   1. Is my HTTP POST request proper? (I have properly been able to execute the same thing in Java and got a HTTP 200 with a successful post to phpBB, however, I am new to Python)
   2. Can someone show me a toy example of handling HTTP POST with POST data and cookies?</p>
  
  <p>Thanks in advance,</p>
  
  <p>Roy</p>