错误 200 python

我正在尝试使用代理来获取 html,但服务器返回 200

EDIT: 更改 user-agentrequest

def FindHtml(self, text):
    site = text
    #headers = {'User-agent' : 'Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10.4; en-US; rv:1.9.2.2) Gecko/20100316 Firefox/3.6.2'}
    headers = {'User-agent' : 'Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 6.0)'}
    proxy_support = self.proxi()
    opener = urllib2.build_opener(proxy_support, urllib2.HTTPHandler(debuglevel=1))
    urllib2.install_opener(opener)
    page=""
    #req = urllib2.Request(site, None,headers)
    req = urllib2.Request(site, None,headers)
    try:
        page = urllib2.urlopen(req).read()
    except urllib2.HTTPError, e:
        print e.fp.read()
    content = page
    #print content
    return content

代理是:

def proxi(self):
    print "proxy"
    n = random.randrange(0,1,1)
    if n == 0:
        print "es 0 "#52.183.30.241 8888
        link = 'http://162.243.77.188:3128'
    else:
        if n == 1:
            print "es 1" #54.183.3.46   80
            link = 'http://47.88.85.75:80'
    pro_s = urllib2.ProxyHandler({'http' : link })
    return pro_s

回应:

send: u'GET http://mangadoor.com/manga/fairy-tail/521/1 HTTP/1.1\r\nAccept-Encoding: identity\r\nHost: mangadoor.com\r\nConnection: close\r\nUser-Agent: Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 6.0)\r\n\r\n'
reply: 'HTTP/1.1 200 OK\r\n'
header: Server: openresty/1.11.2.2
header: Date: Thu, 27 Apr 2017 03:46:00 GMT
header: Content-Type: text/html; charset=UTF-8
header: Transfer-Encoding: chunked
header: Connection: close
header: Set-Cookie: __cfduid=d4b16b5d5caac66c54bd9a278abd397771493264759; expires=Fri, 27-Apr-18 03:45:59 GMT; path=/; domain=.mangadoor.com; HttpOnly
header: X-Powered-By: PHP/5.6.30
header: Cache-Control: no-cache
header: Set-Cookie: laravel_session=eyJpdiI6IndYOVlINnZsNG9yaENrM21MODNmd0E9PSIsInZhbHVlIjoiYXVWRHRmQThwbTQ1UDJxM1o0cEdmbnVxVkxOYzdxRm9sTk1jZmRpVndRM1l3SVwveWRWWGMxSm5VNGpwbm8zWEV5TEFtRFdzNmJzSEF3R3Axd0ZCK0R3PT0iLCJtYWMiOiI1YmE0NDUwN2YxMzYwY2RlMzA1ZjYwMDg2MTQ1ZjczZTM0NTczOWY0NWNjYzU2NGExMjAxYWFmOTE1NGE4OGExIn0%3D; expires=Thu, 27-Apr-2017 05:45:59 GMT; Max-Age=7200; path=/; httponly
header: Vary: Accept-Encoding
header: CF-RAY: 355ecacc3584186a-EWR

我的代码有什么问题吗?

点赞
用户4186075
用户4186075

看起来服务器只允许使用 GET / HEAD 方法。

由于您正在使用“”作为您的数据,因此它使用 POST 方法初始化。这就是为什么您可能会收到“不允许的方法”的原因。

将请求行更改如下并查看结果:-

req = urllib2.Request(site,None,headers)

2017-04-27 00:36:21