簡體   English   中英

使用Mechanize獲取ASP.NET身份驗證cookie

[英]Get ASP.NET authentication cookies with Mechanize

我正在嘗試使用Ruby Mechanize以編程方式登錄並在ASP.NET網站上建立會話。 問題是我似乎無法獲取登錄/身份驗證所需的三個cookie。

例如,當使用普通瀏覽器(例如Chrome)時,瀏覽器使用用戶名和密碼向登錄表單發出POST請求后,將設置三個cookie:

  • ASPXAUTH
  • ASP.NET_SessionId
  • UserName

使用Mechanize嘗試登錄時,提交登錄表單后,Mechanize代理的Mechanize::CookieJar僅包含一個cookie: ASP.NET_SessionID

顯然,這會導致對登錄后頁面的任何后續請求均失敗,並抱怨“會話已過期”並“請再次登錄”。

無論如何,我可以通過編程方式獲取另外兩個cookie嗎? 它不一定必須通過Mechanize進行,但是必須有某種方法將此Cookie傳遞給它。

事實證明,某些(大多數)ASP.NET按鈕單擊是通過Javascript處理的。 當前版本的Mechanize(2.7)不支持Javascript交互。 我改用Capybara WebKit作為無頭驅動程序。 這樣便可以與所需的按鈕進行交互。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM