2017-10-19 8 views
0

나는 Scrapy/ProxyMesh를 처음 사용했다. ProxyMesh 웹 사이트에서 대역폭 사용량을보고 내 로그에서 meta.proxy가 올바르므로 Proxymesh 서버에 대한 내 요청이 작동하는 것 같습니다. 그러나 Scrapy에서 응답 헤더를 기록 할 때 수신해야하는 X-Proxymesh-IP를 수신하지 못합니다. 내 코드는 다음과 같습니다. 내가 도대체 ​​뭘 잘못하고있는 겁니까?헤더를받지 못한다. Scrapy ProxyMesh

custom_settings = { 
    "DOWNLOADER_MIDDLEWARES": { 
     "projectName.middlewares.proxymesh.Proxymesh" : 1, 
    } 

이 응답 헤더가

['Set-Cookie']:['__cfduid=d88d4e4cb7... HttpOnly'] 
['Vary']:['User-Agent,Accept-Encoding'] 
['Server']:['cloudflare-nginx'] 
['Date']:['Thu, 19 Oct 2017 10...38:10 GMT'] 
['Cf-Ray']:['3b031b30cbef1565-CDG'] 
['Content-Type']:['text/html; charset=UTF-8'] 

당신의 도움이

주셔서 감사합니다처럼 보이는 것입니다

다음은 내 설정 내 거미에 내 미들웨어

class Proxymesh(object): 

def __init__(self): 

    logging.debug('Initialized Proxymesh middleware') 

    self.proxy_ip = 'http://host:port' 

def process_request(self, request, spider): 

    logging.debug('Processing request through proxy IP: ' + self.proxy_ip) 

    request.meta['proxy'] = self.proxy_ip 

한다

답변

0

아마 이것도해야할까요?

DOWNLOADER_MIDDLEWARES = { 
    'scrapy.contrib.downloadermiddleware.httpproxy.HttpProxyMiddleware': 1, 
} 

또한 콜백 함수에서

, 당신에게 당신은 아무것도 변경되지 않습니다에서 httpProxy 미들웨어를 추가 이봐 @Umair

+0

response.headers을 인쇄 할 확신합니다. 또한 응답 헤더는 내 거미의 콜백에 인쇄됩니다. 이 X-Proxymesh-IP 헤더에 액세스하는 다른 방법이 있습니까? – xavierds

+0

몇 달 전에 나는 proxymesh를 사용했습니다 ... 괜찮습니다 ... 전체 코드를 공유 할 수 있습니까? – Umair

+0

또한 프록시가 작동하는지 확인하십시오. 웹 사이트 IP를 긁어서 어떤 IP가 반환되는지 확인하십시오. – Umair