Isang proxy para sa isang pagkuha sa Scrapy shell
Gamitin ang metadata ng proxy ng isang Request sa loob ng Scrapy shell at siyasatin ang tugon mula sa naka-configure na kahilingang iyon.
Sa loob ng Scrapy shell, buuin ang kahilingang gusto mong gawin ng downloader:
from scrapy import Request
fetch(Request(
"https://www.example.com/",
meta={"proxy": "http://proxy.example:8080"},
))
response.status
Binabasa ng HttpProxyMiddleware ang halaga ng proxy mula sa metadata ng Request na iyon. Dapat itong pinagana sa configuration ng aktibong downloader middleware. Ang variable na response pagkatapos ay pag-aari ng pagkuha na ito. Para sa pampublikong URL na ito, pumili ng HTTP address na walang authentication mula sa listahan ng HTTP proxy kung pinapayagan ang mga pampublikong tagapamagitan, pagkatapos ay ilagay ang URL nito sa metadata ng proxy ng kahilingang iyon.
Ang pagsisimula ng shell mula sa proyekto ng Scrapy ay nagpapahintulot dito na i-load ang configuration ng proyektong iyon. Pinipili nito ang middleware at iba pang setting; hindi ito mismo pumipili ng partikular na proxy endpoint. Ang metadata ng kahilingan sa itaas ay direktang nagbibigay ng pagpiling iyon.
Para sa isang proxy na gumagamit ng Basic credentials, itinatala ng Scrapy ang impormasyon ng user sa URL ng proxy. I-encode ang mga reserved na character sa mga bahagi ng account bago ito buuin. Hindi kailangang magdagdag ng Authorization header ng website para sa account na iyon.
Makakahanap din ang Scrapy ng mga proxy mula sa mga sinusuportahang environment variable nito. Ang tahasang metadata ng proxy ng isang kahilingan ay may priyoridad. Para sa sadyang direktang kahilingan, ang halaga ng proxy na None ay nagpapawalang-bisa sa pagpiling nakabatay sa environment ng middleware na iyon para sa kahilingan.