我嘗試使用PhantomJS登錄時發現了一個有趣的問題。我不知道爲什麼它實際發生。phantomjs - Cookie未被髮送用於任何XHR/POST/GET AJAX請求
基本上你啓動遠程調試器,像這樣:
/usr/local/bin/phantomjs --web-security=no --remote-debugger-port=13379 --remote-debugger-autorun=yes /tmp/test.js
在遠程調試器:
> location.href = "https://www.mysite.com/login"
> $('input[name="username_or_email"]').val('[email protected]')
> $('input[name="password"]').val('wrongpassword')
> $('button[type="submit"]').submit()
在Chrome這樣做會給我正確的「密碼錯誤」的消息XHR後請求,而使用phantomjs給我一個通用的錯誤,因爲沒有cookie發送與phantomjs(我檢查了標題)。
我很困惑爲什麼phantomjs不會發送帶有POST請求的cookie。有誰知道我們可以如何讓phantomjs發送所有請求的cookie?設置cookie文件也沒有任何區別。
嘿Geesu,你找到了解決你的問題?我遇到類似的問題。 http://stackoverflow.com/questions/23679287/why-is-the-cookie-header-not-set-on-my-same-domain-ajax-request-within-phantom – Senad
不幸的是,我從來沒有。我剛剛放棄使用phantomjs並開始使用Mechanize gem來僞造請求(就像Net :: HTTP一樣)。 – Geesu
在上面添加了一個賞金 - 我發現了很多線程來解決這個問題,但沒有答案。 HALP! – starsinmypockets