OK, voici l'en-tête (juste un exemple) Info de l'en-tête HTTP en direct lors de la connexion à un compte: normalement, je code comme ceci: P> Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Language: en-us,en;q=0.5
Accept-Encoding: gzip,deflate
Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7
3 Réponses :
Cela dépend de ce que vous essayez de "fou". Vous pouvez essayer certains services en ligne qui font de simples agents utilisateur reniflant pour évaluer votre succès: p>
http://browserspy.dk/browser.php p>
http://www.browserscope.org (recherche de 'nous pensons que vous utilisez ... ') p>
http://www.browserscope.org/ua p>
http://panopticlick.eff.org/ -> vous aidera à choisir un "trop courant suivre les "options p>
http://networking.ringofsaturn.com/tools/browser.php < / p>
Je crois qu'un programmeur déterminé pourrait détecter votre jeu, mais de nombreux analyseurs et outils de journal ne seraient pas une fois que vous avez écho à ce que votre navigateur réel envoie. P>
Une chose que vous devriez considérer, c'est que le manque de JS pourrait élever des drapeaux rouges, alors capturer des en-têtes envoyés avec JS handicapés. P>
Y a-t-il un outil pour surveiller vos connexions réseau de scripts? Je saurais donc que les données transmises entre le serveur et mon script.
JavaScript? Les en-têtes HTTP en direct doivent le faire. Script Python? Plus fort, mais un logiciel de reniflement de paquet comme Wirehark le ferait. Dans les deux cas, vous obtiendrez beaucoup de bruit non-script, mais cela peut toujours vous donner beaucoup d'informations utiles.
Voici comment vous définissez l'agent utilisateur pour toutes les demandes effectuées par MECANIZE.Browser
br.open('http://yoursite.com/login') br.select_form(nr=1) # select second form in page (0 indexed) br['username'] = 'yourUserName' # inserts into form field with name 'username' br['password'] = 'yourPassword' response = br.submit() if 'Welcome yourUserName' in response.get_data(): # login was successful else: # something went wrong print response.get_data()
Si vous êtes paranoïaque sur la conservation des robots / scripts / des navigateurs non réels, vous recherchez des objets comme l'ordre des demandes HTTP, laissez une ressource à ajouter à JavaScript. Si cette ressource n'est pas demandée, ou demandée avant le JavaScript - alors vous savez que c'est un "faux" navigateur. Vous pouvez également examiner le nombre de demandes par connexion (Garder-vivant) ou simplement vérifier que tous les fichiers CSS de la première page (étant donné qu'ils sont en haut du HTML) sont chargés. P>
ymmv mais il peut devenir assez encombrant de simuler suffisamment pour rendre un "faux" navigateur passe comme un "réel" (utilisé par les humains). P>