2011-02-18 2 views
0

Lorsque je tente de récupérer le contenu de cette URL http://www.yellowpages.com.au/qld/gatton/a-12000029-listing.htmlHttpWebRequest retourne texte vide

using System.Net; 

HttpWebRequest request = (HttpWebRequest)WebRequest.Create(link); 
request.AllowAutoRedirect = true; 
HttpWebResponse response = (HttpWebResponse)request.GetResponse(); 
Stream resStream = response.GetResponseStream(); 
StreamReader objSR; 
objSR = new StreamReader(resStream, System.Text.Encoding.GetEncoding("utf-8")); 
string sResponse = objSR.ReadToEnd(); 

Je ne reçois pas de réponse du serveur. S'il vous plaît, aidez-moi à comprendre pourquoi cela arrive.

Merci d'avance!

+0

Avez-vous vérifié le 'response.StatusCode'? – Nekresh

+0

Ce site me semble être un mauvais bordel. Ne charge même pas correctement dans un navigateur et environ 50% des demandes qu'il renvoie 503 Service indisponible (dans le navigateur). –

Répondre

0

Il se peut très bien qu'il regarde l'agent utilisateur et refuse de servir du contenu à un client qui ne s'identifie pas lui-même. Essayez de définir la propriété UserAgent sur votre objet de requête.

0

Il me semble que ce site vérifie l'URL de référence et peut servir du contenu vide si un référent invalide est spécifié.

Essayez de définir request.Referer = "http://www.google.com";. Expérimentez avec le référent pour voir si cela change la réponse. J'essaierais aussi la propriété UserAgent comme suggéré par Matthew.

0

J'ai eu le même problème et la cause était que j'avais précédemment mis la méthode à HEAD et dans les révisions ultérieures avait le besoin d'analyser le corps.

Questions connexes