ఒక request కస్టమ్ proxy middleware నుండి తప్పుకున్నప్పటికీ తన మెటాడేటాలో యాక్టివ్ proxy URLని ఇంకా కలిగి ఉండవచ్చు. Scrapy యొక్క బిల్ట్-ఇన్ HttpProxyMiddleware meta["proxy"]ని చదువుతుంది; సాధారణ dont_proxy ఫ్లాగ్ను అది అర్థం చేసుకోదు.

నేరుగా వెళ్లాల్సిన request కోసం స్పష్టంగా సెట్ చేయండి:

request.meta["proxy"] = None

స్పష్టమైన None ఆ request కోసం తన ఎన్విరాన్మెంట్ సెట్టింగ్ల నుండి proxy ఎంచుకోకుండా బిల్ట్-ఇన్ middlewareని నిరోధిస్తుంది. కీని మాత్రమే తొలగిస్తే ఆ ఆటోమేటిక్ ఎంపిక మళ్లీ అనుమతించబడుతుంది.

మరో ఇన్స్టాల్ చేసిన middleware dont_proxyని ఉపయోగిస్తే, దాని డాక్యుమెంటెడ్ ప్రయోజనం కోసం ఆ ఫ్లాగ్ను కూడా ఉంచండి. తర్వాతి కాంపోనెంట్ మళ్లీ proxy URLని కేటాయించకుండా middleware క్రమాన్ని ఏర్పాటు చేయండి. మార్గాన్ని ఎంచుకోగల చివరి కాంపోనెంట్ తర్వాత మెటాడేటాను పరిశీలించండి.

కస్టమ్ బైపాస్ ఫ్లాగ్ సెట్ చేసిన తర్వాత వచ్చే 407 మిగిలిన proxy మార్గంతో సరిపోతుంది, కానీ స్టేటస్ మాత్రమే దాన్ని ఏ middleware ఎంచుకుందో చెప్పదు. అన్ని కాంపోనెంట్లు ఒకే తప్పుకోవడం పదజాలాన్ని పంచుకుంటాయని ఊహించకుండా, ఆ request ప్రాసెసింగ్ అంతటా ప్రభావవంతమైన proxy ఫీల్డ్ను అనుసరించండి.

సంబంధిత వ్యాసాలు