Comment définissez-vous le javascript comme activé lors de l'utilisation DefaultHttpClient?

StackOverflow https://stackoverflow.com/questions/4135519

  •  30-09-2019
  •  | 
  •  

Question

Im essayant d'utiliser DefaultHttpClient pour se connecter à xbox.com. Je me rends compte que vous ne pouvez pas être connecté sans visiter http://login.live.com , donc j'allais soumettre le formulaire sur cette page et utiliser les cookies dans les demandes de xbox.com.

Le problème est que la demande de quoi que ce soit à l'aide live.com DefaultHttpClient renvoie le message qui suit.

  

Windows Live nécessite JavaScript pour vous connecter. Ce navigateur ne supporte pas JavaScript ou son exécution est bloquée.

Comment puis-je dire DefaultHttpClient de dire au serveur que le javascript est disponible pour une utilisation? J'ai essayé de regarder dans les options par défaut et en ajoutant comme un objet de paramètre, mais je ne peux pas voir ce que je dois faire.

Était-ce utile?

La solution

La raison pour laquelle cela se produit est que cette ligne de code HTML est de s'analysé en direct:

<noscript><meta http-equiv="Refresh" content="0; URL=http://login.live.com/jsDisabled.srf?mkt=EN-US&lc=1033"/>Windows Live ID requires JavaScript to sign in. This web browser either does not support JavaScript, or scripts are being blocked.<br /><br />To find out whether your browser supports JavaScript, or to allow scripts, see the browser's online help.</noscript>

Ce qui est utilisé pour vous rediriger si votre client ne supporte pas Javascript (et donc analyser les balises <noscript>.)

Vous pouvez essayer d'utiliser une bibliothèque HTTP moins intelligente qui ne fait pas l'analyse du contenu, mais qui, au lieu ne concerne uniquement le transport et les feuilles l'analyse syntaxique pour vous.

Autres conseils

Wireshark pour tracer la communication utilisant à la fois un navigateur et votre programme, et recherchez les différences. Il est difficile de dire quoi, exactement, live.com/xbox.com recherchent, mais il y a probablement un certain code AJAX-y utilisé pour obtenir le contenu.

Windows Live ID nécessite JavaScript pour vous connecter. Ce navigateur ne supporte pas JavaScript ou son exécution est bloquée.
Pour savoir si votre navigateur prend en charge JavaScript ou pour permettre aux scripts, consultez l'aide en ligne du navigateur.
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top