Scrapy లో ProxyMesh నిష్క్రమణ హెడర్ ఎందుకు మాయమవుతుంది
Scrapy వెబ్సైట్ యొక్క ఎన్క్రిప్ట్ చేసిన ప్రతిస్పందనను పొందకముందే ProxyMesh CONNECT పై రూటింగ్ మెటాడేటాను పంపవచ్చు. దాన్ని నిజంగా మోసే ప్రతిస్పందన దశను పరిశీలించండి.
Scrapy HTTPS కాల్బ్యాక్లో X-ProxyMesh-IP లేకపోవడం నేరుగా రూటింగ్ను నిరూపించదు. టన్నెల్ చేసిన HTTPS లో ProxyMesh రూటింగ్ హెడర్లను CONNECT ప్రతిస్పందనపై ఉంచుతుంది; తర్వాత వచ్చే వెబ్సైట్ ప్రతిస్పందన TLS లోపల ఉంటుంది మరియు ఆ మునుపటి మెటాడేటాను స్వయంచాలకంగా చేర్చదు.
కాల్బ్యాక్లో హెడర్ కనిపించే చోట దాన్ని షరతులతో చదవండి:
exit_ip = response.headers.get(b'X-ProxyMesh-IP')
if exit_ip is not None:
self.logger.info('Reported exit IP: %s', exit_ip.decode('ascii'))
ఇది ఆ మార్పిడి కోసం ప్రదాత నివేదించిన నిష్క్రమణ, కాన్ఫిగర్ చేసిన ప్రవేశ హోస్ట్నామం కాదు.
టన్నెల్ మెటాడేటా అవసరమైతే, CONNECT హెడర్లను బహిర్గతం చేసే సుసంగత హ్యాండ్లర్ ఇంటిగ్రేషన్ను ఉపయోగించండి. ProxyMesh ఈ ప్రయోజనం కోసం ఒకదాన్ని నిర్వహిస్తుంది; దాని మద్దతు ఉన్న Scrapy వెర్షన్ మరియు డౌన్లోడ్ హ్యాండ్లర్ను తనిఖీ చేయండి. రవాణా ఎప్పుడూ ఇవ్వని హెడర్లను స్పైడర్ పార్సింగ్ బహిర్గతం చేయలేదు.
మెటాడేటాను దాని కనెక్షన్తో అనుసంధానించండి. టన్నెల్ను మళ్లీ ఉపయోగించడం ప్రతి పేజీకి మరో CONNECT ప్రతిస్పందనను సృష్టించదు. గమ్యస్థానం గమనించే స్వతంత్ర మూల చిరునామా కోసం, ప్రదాత హెడర్ను సార్వత్రిక IP డిటెక్టర్గా భావించడం కాకుండా ఆ గమ్యస్థానం యొక్క ఇన్కమింగ్ కనెక్షన్ను పరిశీలించండి.