title: Why am I getting “HTTP Error 405: Method Not Allowed” when requesting a URL using urllib2?
body: <p>I am using urllib2 and urllib libraries in python </p>
  
  <p>suppose i had the following code</p>
  
  <pre><code>import urllib2
  import urllib
  
  url = 'http://ah.example.com'
  half_url = u'/servlet/av/jd?ai=782&amp;ji=2624743&amp;sn=I'
  
  req = urllib2.Request(url, half_url.encode('utf-8'))
  response = urllib2.urlopen(req)
  print response
  </code></pre>
  
  <p>when i run the above code i am getting the following error</p>
  
  <pre><code>Traceback (most recent call last):
    File "example.py", line 39, in &lt;module&gt;
      response = urllib2.urlopen(req)
    File "/usr/lib64/python2.7/urllib2.py", line 126, in urlopen
      return _opener.open(url, data, timeout)
    File "/usr/lib64/python2.7/urllib2.py", line 398, in open
      response = meth(req, response)
    File "/usr/lib64/python2.7/urllib2.py", line 511, in http_response
      'http', request, response, code, msg, hdrs)
    File "/usr/lib64/python2.7/urllib2.py", line 436, in error
      return self._call_chain(*args)
    File "/usr/lib64/python2.7/urllib2.py", line 370, in _call_chain
      result = func(*args)
    File "/usr/lib64/python2.7/urllib2.py", line 519, in http_error_default
      raise HTTPError(req.get_full_url(), code, msg, hdrs, fp)
  urllib2.HTTPError: HTTP Error 405: Method Not Allowed
  </code></pre>
  
  <p>can anyone let me know whats happening here and why its not working</p>
  
  <p>Thanks in advance............</p>