python urllib2 出现HTTP Error 400: Bad Request
1、源代码import urllib2def httpGet(url):request = urllib2.Request(url)request.add_header('User-Agent', 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_11_6) AppleWebKit/537.36 (KHTML, like Gecko) Chr...
1、源代码
import urllib2
def httpGet(url):
request = urllib2.Request(url)
request.add_header('User-Agent', 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_11_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/56.0.2924.87 Safari/537.36')
request.get_method = lambda: 'GET'
request = urllib2.urlopen(request)
return request.read()
执行后出现:HTTP Error 400: Bad Request
2、解决
在请求request = urllib2.Request(url)前添加url = urllib2.quote(url, ':/=&?')
表示除了‘:/=&?’字符外其他都进行解析。
import urllib2
def httpGet(url):
url = urllib2.quote(url, ':/=&?')
request = urllib2.Request(url)
request.add_header('User-Agent', 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_11_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/56.0.2924.87 Safari/537.36')
request.get_method = lambda: 'GET'
request = urllib2.urlopen(request)
return request.read()
更多推荐
所有评论(0)