I am using urllib2 and urllib libraries in python
suppose i had the following code
import urllib2
import urllib
url = 'http://ah.example.com'
half_url = u'/servlet/av/jd?ai=782&ji=2624743&sn=I'
req = urllib2.Request(url, half_url.encode('utf-8'))
response = urllib2.urlopen(req)
print response
when i run the above code i am getting the following error
Traceback (most recent call last):
File "example.py", line 39, in <module>
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
can anyone let me know whats happening here and why its not working
Thanks in advance............
The server you are calling is telling you that the POST method is not allowed for the URL you are trying to call.
By passing in the path portion of your URL as the Request
object data parameter you are making this a POST instead of a GET.
I suspect you wanted to send a GET request instead:
req = urllib2.Request(url + half_url.encode('utf-8'))
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With