Sorunun ne olduğundan tam olarak emin değilsiniz.Tors üzerinde Polipo üzerinden Scrapy ile https siteye nasıl bağlanır?
Ben bu yüzden TOR aracılığıyla talepleri gönderebilir benim yerel Polipo vekil bağlanırken test etmek çok basit scrapy örümcek oluşturduk Python 2.7.3 ve scrapy 0.16.5
Running. aşağıdaki gibi benim örümceğin Temel kodudur: proxy katman için
from scrapy.spider import BaseSpider
class TorSpider(BaseSpider):
name = "tor"
allowed_domains = ["check.torproject.org"]
start_urls = [
"https://check.torproject.org"
]
def parse(self, response):
print response.body
, ben tanımladığınız: ayarlarım dosyasında
class ProxyMiddleware(object):
def process_request(self, request, spider):
request.meta['proxy'] = settings.get('HTTP_PROXY')
Benim http_proxy HTTP_PROXY = 'http://localhost:8123'
olarak tanımlanır.
Şimdi, başlangıç URL'mi http://check.torproject.org olarak değiştirirsem, her şey iyi çalışıyor, sorun değil. (: // siteleri ve hepsi aynı sorun var ben de farklı https denedim): Ben https://check.torproject.org karşı çalıştırmayı denerseniz
, ben 400 Geçersiz İstek hatası her zaman olsun
2013-07-23 21:36:18+0100 [scrapy] INFO: Scrapy 0.16.5 started (bot: arachnid)
2013-07-23 21:36:18+0100 [scrapy] DEBUG: Enabled extensions: LogStats, TelnetConsole, CloseSpider, WebService, CoreStats, SpiderState
2013-07-23 21:36:18+0100 [scrapy] DEBUG: Enabled downloader middlewares: HttpAuthMiddleware, DownloadTimeoutMiddleware, RandomUserAgentMiddleware, ProxyMiddleware, RetryMiddleware, DefaultHeadersMiddleware, RedirectMiddleware, CookiesMiddleware, HttpCompressionMiddleware, ChunkedTransferMiddleware, DownloaderStats
2013-07-23 21:36:18+0100 [scrapy] DEBUG: Enabled spider middlewares: HttpErrorMiddleware, OffsiteMiddleware, RefererMiddleware, UrlLengthMiddleware, DepthMiddleware
2013-07-23 21:36:18+0100 [scrapy] DEBUG: Enabled item pipelines:
2013-07-23 21:36:18+0100 [tor] INFO: Spider opened
2013-07-23 21:36:18+0100 [tor] INFO: Crawled 0 pages (at 0 pages/min), scraped 0 items (at 0 items/min)
2013-07-23 21:36:18+0100 [scrapy] DEBUG: Telnet console listening on 0.0.0.0:6023
2013-07-23 21:36:18+0100 [scrapy] DEBUG: Web service listening on 0.0.0.0:6080
2013-07-23 21:36:18+0100 [tor] DEBUG: Retrying <GET https://check.torproject.org> (failed 1 times): 400 Bad Request
2013-07-23 21:36:18+0100 [tor] DEBUG: Retrying <GET https://check.torproject.org> (failed 2 times): 400 Bad Request
2013-07-23 21:36:18+0100 [tor] DEBUG: Gave up retrying <GET https://check.torproject.org> (failed 3 times): 400 Bad Request
2013-07-23 21:36:18+0100 [tor] DEBUG: Crawled (400) <GET https://check.torproject.org> (referer: None)
2013-07-23 21:36:18+0100 [tor] INFO: Closing spider (finished)
Ben bizzat TOR/Polipo kurmak benim, ben bir terminalde aşağıdaki kıvırın komutunu çalıştırın ve ince bağlanabiliyor değilim yanlış bir şey olmadığını tekrar kontrol etmek: curl --proxy localhost:8123 https://check.torproject.org/
Herhangi öneri neyin yanlış olarak İşte?
https_proxy ayarınız nedir? HTTP ve HTTPS, genellikle farklı bağlantı noktaları üzerinden gönderilir ve farklı proxy'ler gerektirir. – Andenthal
Takip ettiğimden emin değilim. Elbette bir HTTPS URL'sine bağlanan bir HTTP proxy'sine bağlanıyor, iyi çalışıyor mu? Bir HTTPS URL'sine bağlanmak için neden bir HTTPS proxy'sine bağlanmalıyım? Durum buysa, yukarıdaki cURL komutu başarısız olmaz mı? –