The request was aborted: The connection was closed unexpectedly (Is til den der finder fejlen)
Jeg har et super irriterende problem, med en side hvorfra jeg vil snuppe HTML'en men returnere overstående fejl.Siden jeg forsøger at hente er:
http://achievementhunter.com/games/farcry3blooddragon/
Og generelt alle efter ".com/games/(Indsæt Navn Her)", og den fejler på alle.
Mit projekt er på Windows Phone 7.1, .NET 4.0, og jeg forsøgte mig først med HTMLAgilityPack, men fik så den fejl, efter lidt test i mobil browseren så jeg den heller ikke gad indlæse siden.
Tænkte derfor det muligvis kunne fikses over en WebService (WCF), med httpwebrequest eller WebClient, de fejler dog også begge to.
Jeg har kigget lidt i Fiddler og den returnere:
"The server did not return properly formatted HTTP Headers."
"With Rare exceptions, servers must include a DATE resposne header."
http://web-sniffer.net/ har dog ikke de store problemer med siden, med mindre jeg henter det i "HTTP/1.0 (without Host header)"
Under sider på sitet fungere fint, og kan sagtens returnere data derfra.
Understående kode fejler, når jeg køre den mod siden, men fungere mod andre sider.
public static string GetPage(string uri)
{
HttpWebRequest request = (HttpWebRequest)WebRequest.Create(uri);
request.Timeout = 12500;
// Set some reasonable limits on resources used by this request
request.MaximumAutomaticRedirections = 4;
request.MaximumResponseHeadersLength = 4;
request.UserAgent = "Mozilla/5.0 (Windows NT 6.2; WOW64; rv:20.0) Gecko/20100101 Firefox/20.0";
request.KeepAlive = true;
// Set credentials to use for this request.
request.Credentials = CredentialCache.DefaultCredentials;
HttpWebResponse response = (HttpWebResponse)request.GetResponse();
// Get the stream associated with the response.
Stream receiveStream = response.GetResponseStream();
// Pipes the stream to a higher level stream reader with the required encoding format.
StreamReader readStream = new StreamReader(receiveStream, Encoding.UTF8);
string htmlreturn = readStream.ReadToEnd();
response.Close();
readStream.Close();
return htmlreturn;
}
Jeg gir en is eller en is kold øl til ham/hende der kan hjælpe mig med dette problem, mange tak :)