Веб-запрос возвращает «DOS» - PullRequest
1 голос
/ 10 июня 2010

Я получаю «DOS» вместо строки html ....

let getHtmlBasic (uri :System.Uri ) =
    use client = new WebClient()
    client.DownloadString( uri)


let uri = System.Uri( "http://www.b-a-r-f.com/" )
getHtmlBasic uri

Это дает строку "DOS"

Лол, что за?

Все остальные веб-сайты работают ...

Ответы [ 4 ]

1 голос
/ 10 июня 2010
let req =  (WebRequest.Create(uri)) :?> HttpWebRequest
// 'use' is equivalent to ‘using’ in C# for an IDisposable
req.UserAgent<-"Mozilla"
1 голос
/ 10 июня 2010

Они, вероятно, обнаружат автоматическое сканирование и отправят вам этот ответ.

1 голос
/ 10 июня 2010

Я сам тестировал (не на F, но это не имеет особого значения), и я могу подтвердить, что сайт читает строку User Agent и в зависимости от его значения возвращает либо содержимое сайта, либо текст "DOS" .

Любопытно, что они предоставляют службу каналов (как RSS, так и Atom), а также отфильтровывают запросы к ней.

Хотя информация об агенте пользователя может быть легко подделана, я советую вам попытаться получить их разрешение на захват содержимого; по крайней мере из ленты XML!

0 голосов
/ 10 июня 2010

Он основан на пользовательском агенте. Если вы используете пользовательский агент браузера, запрос будет работать. Тем не менее, это, кажется, довольно четкое сообщение Keep Out.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...