2012-10-24 1 views
2

Quand je tente de charger la page suivante:HttpWebRequest et javascript

http://www.manta.com/c/mm0mg7z/law-office-of-wendy-kazel 

avec un HttpWebRequest (i utilise le code ci-dessous)

try { 
    HttpWebRequest _wReq; 
    HttpWebResponse _wResp; 
    System.IO.StreamReader _sr; 
    System.Text.ASCIIEncoding _enc = new System.Text.ASCIIEncoding(); 
    _wReq = (HttpWebRequest) WebRequest.Create("http://www.manta.com/c/mm0mg7z/law-office-of-wendy-kazel"); 
    _wReq.UserAgent = "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322; .NET CLR 2.0.50727)"; 
    _wReq.Timeout = 20000; 
    _wReq.ReadWriteTimeout = 20000; 

    _wReq.Referer = "http://www.manta.com"; 

    _wResp = (HttpWebResponse) _wReq.GetResponse(); 
    _sr = new System.IO.StreamReader(_wResp.GetResponseStream()); 
    _html = _sr.ReadToEnd(); 
    _sr.Close(); 
    _wResp.Close(); 

} catch (WebException ee) { 

} 

Je reçois le code html retourné suivant de manta

Oops. 
Before you can move on, please activate JavaScript. 

Cela ne se passe pas toujours mais la plupart du temps.

Une idée de ce qui pourrait être le problème?

+0

Je pense que le site web dépend de JavaScript, que signifie _html? –

+0

_html est la source html de la demande – Elvin

+0

Désolé, je voulais dire que comment _html est utilisé? Si _html est une variable, comment l'avez-vous créée? Y a-t-il un code spécifique que vous avez utilisé pour créer cette variable/objet? –

Répondre

0

Un HTTP Webrequest ne peut pas exécuter les scripts client. Javascript nécessite que le script soit exécuté, que la page soit chargée et que le DOM soit construit pour diverses opérations à effectuer.

Les réponses webrequests & téléchargent simplement la ressource et ne la traitent pas ou ne l'exécutent pas de toute façon. Il est préférable d'utiliser un WebBrowserControl dans ce cas.