meta meta download / c # crawler - PullRequest
       57

meta meta download / c # crawler

1 голос
/ 11 ноября 2010

Я пытаюсь создать сканер для загрузки содержимого с веб-сайта.

Предполагается, что URL-адрес потребляет что-то вроде

clickUrl ="http://www.example.com/idocs-nph/search/pdfViewerForm.html?args=5C7QrtC22wGYK2xFpSwMnXdtvSoClrL8xJKSjjboeVQpCCmqt4mgGEHlbmahCJFQEmRQwePEviF8EeCoaT0MAKztT3Sb63xk3VkL3PiCQ3RLoVYQqjKiogfu8Gq1RKKQmyoZK8o4WQM0kj-3nPY6gOqNXOY8VS4VhacAYKom_mBgul0xmRvgLA..";

в веб-браузере загрузка выполняется с возвратом html-файла, содержащего обновление META

<meta http-equiv="REFRESH" content="0;url=http://www.example.com/idocs-nph/search/pdfViewerForm.html?args=5C7QrtC22wGYK2xFpSwMnXdtvSoClrL8xJKSjjboeVQpCCmqt4mgGEHlbmahCJFQEmRQwePEviF8EeCoaT0MAKztT3Sb63xk3VkL3PiCQ3TmKpPQrAvPZQfu8Gq1RKKQmyoZK8o4WQMl05IxFu8XBzuJ49RIAPXJ8d-HneKenBQ-TKbP_e17qQ.."/>

и браузер запрашивает имя файла для сохранения файла

В моем коде сканера,

Я открываю веб-запрос для clickURL,

HttpWebRequest req = (HttpWebRequest)WebRequest.Create(clickUrl);

Я обнаруживаю и обновляю URL REFRESH, используя новый WebRequest, но ответом является новый html, содержащий также REFRESH META, а не сам файл (довольно рекурсивный)

HttpWebRequest не содержит куки

1 Ответ

1 голос
/ 11 ноября 2010

Весьма вероятно, что сайт проверяет наличие файлов cookie.Причина, по которой это происходит, заключается в том, что когда вы отправляете кому-либо ссылку на файл загрузки, получатель все равно будет перенаправлен на сайт, прежде чем он или она сможет загрузить файл.

Sourceforge делает что-то интересное, что может помочь.Если перейти к загрузке файла из Sourceforge, вы окажетесь на странице, которую вы описываете.Однако, если вы откроете ту же самую страницу с помощью wget, вы увидите, что он действительно загружает файл.Он обнаруживает, что вы не являетесь обычным браузером, и отправляет вам файл (HTML в любом случае не принесет пользы с помощью wget; он не будет смотреть на рекламу).

Я предлагаю вам попробоватьследующий.Когда вы найдете страницу с таким перенаправлением, перенаправьте на нее.Если вы обнаружите, что вы получаете то же содержимое обратно, попробуйте еще раз без User-Agent.Может быть, это на самом деле даст вам файл.

...