2017-04-26 1 views
0

내가 프록시를 사용하여 HTML을 가져 오기 위해 노력하고있어,하지만 서버가 200오류 200 파이썬

편집을 반환

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 

내 코드의 문제점은 무엇입니까?

답변

0

서버와 마찬가지로 GET/HEAD 메소드 만 허용됩니다.

""을 (를) 귀하의 데이터로 사용하면서 POST 방법을 사용하여 초기화됩니다. 그래서 당신은 아마도 허용되지 않는 방법을 받고있는 것입니다.

변경 결과 아래의 볼과 같은 요청 라인 : -

REQ = urllib2.Request (사이트, 없음, 헤더) 내 문제를 해결하지만 지금은 새로운 응답을 반환

+0

덕분에, 나는 질문을 업데이트한다. –