title: urllib2.HTTPError: HTTP Error 400: Bad Request - Python
body: <p>I'm trying to POST using urllib and urllib2 but it keeps giving me this error</p>
  
  <pre><code>    Traceback (most recent call last):
    File "/Users/BaDRaN/Desktop/untitled text.py", line 39, in &lt;module&gt;
      response = urllib2.urlopen(request)
    File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/urllib2.py", line 127, in urlopen
      return _opener.open(url, data, timeout)
    File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/urllib2.py", line 410, in open
      response = meth(req, response)
    File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/urllib2.py", line 523, in http_response
      'http', request, response, code, msg, hdrs)
    File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/urllib2.py", line 448, in error
      return self._call_chain(*args)
    File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/urllib2.py", line 382, in _call_chain
      result = func(*args)
    File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/urllib2.py", line 531, in http_error_default
      raise HTTPError(req.get_full_url(), code, msg, hdrs, fp)
  urllib2.HTTPError: HTTP Error 400: Bad Request
  </code></pre>
  
  <p>and here's my code</p>
  
  <pre><code>body    = {'where' : {'deviceType' : 'ios'}, 'data' : {'alert' : 'vvv'}}
  headers = { 'X-Parse-Application-Id' : 'someID', 'X-Parse-REST-API-Key' : 'someKey', 'Content-Type' : 'application/json' }
  
  data     = urllib.urlencode(body)
  request  = urllib2.Request('https://api.parse.com/1/push', data, headers)
  response = urllib2.urlopen(request)
  call     = response.read()
  </code></pre>
  
  <p>Anyone could help me here ?</p>