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()

Logo

瓜分20万奖金 获得内推名额 丰厚实物奖励 易参与易上手

更多推荐