Ich habe ein interessantes Problem gefunden, als ich mich mit PhantomJS anmelden wollte. Ich weiß nicht, warum es tatsächlich passiert.phantomjs - Cookie wird für keine XHR/POST/GET gesendet. AJAX-Anfragen
Grundsätzlich starten Sie einen Remote-Debugger wie so hoch:
/usr/local/bin/phantomjs --web-security=no --remote-debugger-port=13379 --remote-debugger-autorun=yes /tmp/test.js
Im Remote-Debugger:
> location.href = "https://www.mysite.com/login"
> $('input[name="username_or_email"]').val('[email protected]')
> $('input[name="password"]').val('wrongpassword')
> $('button[type="submit"]').submit()
dies in Chrome Dadurch wird mir die richtige "falsches Passwort" Nachricht nach dem XHR geben Anfrage, während phantomjs mir einen allgemeinen Fehler gibt, da kein Cookie mit phantomjs gesendet wird (ich überprüfte die Überschriften).
Ich bin ziemlich verwirrt darüber, warum phantomjs das Cookie mit der POST-Anfrage nicht sendet. Weiß jemand, wie wir phantomjs bekommen können, um den Cookie mit ALLEN Anfragen zu senden, wie es sollte? Das Setzen einer Cookie-Datei macht auch keinen Unterschied.
10 Hey Geesu, hast du eine Lösung für dein Problem gefunden? Ich habe ein ähnliches Problem. http://stackoverflow.com/questions/23679287/why-is-the-cookie-header-not-set-on-my-same-domain-ajax-request-within-phantom – Senad
Leider habe ich nie getan. Ich habe es einfach aufgegeben, Phantomjs zu verwenden und habe begonnen, das Mechanize-Juwel zu benutzen, um die Anfragen zu fälschen (genau wie Net :: HTTP). – Geesu
Eine Bounty oben hinzugefügt - Ich habe zahlreiche Threads gefunden, die dieses Problem ansprechen, aber keine Antworten. Haltet! – starsinmypockets