Просто кусок кода
WebClient wc = new WebClient();
String str = wc.DownloadString(new Uri("http://content.warframe.com/dynamic/rss.php"));
И я получил исключение:
Произошло необработанное исключение типа «System.Net.WebException» в System.dll.
Дополнительные сведения: базовое соединение было закрыто: соединение было неожиданно закрыто.
Я думал, что это ошибка в .NET (я использую 3.5), но я пробовал другие методы, чтобы получить содержимое этой ссылки (ее rss, xml). Удачного выстрела пока нет
var webrequest = (WebRequest)HttpWebRequest.Create(@"http://content.warframe.com/dynamic/rss.php");
var resp = webrequest.GetResponse();
//HttpWebResponse webresponse = (HttpWebResponse)webrequest.GetResponse(); // Wont work also
Этот код выше тоже не будет работать, оба выдают одно и то же исключение
Журналы Fiddler:
СОСТОЯНИЕ СЕАНСА: Прервано.
Размер объекта ответа: 512 байт.
== ФЛАГИ ==================
BitFlags: [ResponseGeneratedByFiddler] 0x100
X-ABORTED-WHEN: Done
X-CLIENTIP: 127.0.0.1
X-CLIENTPORT: 2747
X-EGRESSPORT: 2748
X-FAILSESSION-WHEN: ReadingResponse
X-HOSTIP: 205.185.216.10
X-PROCESSINFO: willitwork.vshost:3300
== ИНФОРМАЦИЯ О ВРЕМЕНИ ============
ClientConnected: 10:29:11.706
ClientBeginRequest: 10:29:11.713
GotRequestHeaders: 10:29:11.713
ClientDoneRequest . : 10:29:11.953
ServerGotRequest: 10:29:11.953
ServerBeginResponse: 10:29:12.372
GotResponseHeaders: 00:00:00.000
ServerDoneResponse: 10:29:12.372
ClientBeginResponse : 10:29:12.385
ClientDoneResponse: 10:29:12.385
Всего прошло: 0:00:00.672
Ответ был помещен в буфер перед доставкой клиенту.
== WININET CACHE INFO =============
Этот URL отсутствует в кэше WinINET. [Код: 2]
* Примечание. Приведенные выше данные показывают текущее состояние кэша WinINET, а не состояние на момент запроса.
* Примечание. Приведенные выше данные показывают только кэш WinINET со средней целостностью (незащищенный режим).
Также - 504, это не имеет смысла, так как я могу получить данные по ссылке через chrome/firefox/ie...
Я просто сделал это, чтобы работать на другом языке, но я вынужден делать это с С# (я сделал 2 кода, чтобы переписать его)
Я добавил некоторые настройки, как сказал скрипач
myHttpWebRequest1.ProtocolVersion = HttpVersion.Version11;
myHttpWebRequest1.UserAgent = "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/35.0.1916.153 Safari/537.36";
myHttpWebRequest1.Accept = "text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8";
По крайней мере, теперь я получаю ошибку 504 вместо "неизвестно", но я все еще могу просматривать содержимое через веб-браузер, поэтому ошибка 504 является фальшивой.
Изменить: при добавлении нет ошибки ответа
myHttpWebRequest1.Headers["Accept-Encoding"] = "gzip";
но теперь вывод испорчен и нечитаем