2017-04-13 79 views
1

我想了解表單如何提交工作。目前,我簽署這個網站:Work website我想什麼做的是使用Postmancurl登錄使用郵遞員或捲髮登錄到第三方網站:學習經驗


在形式是看到4個可能的密鑰:UsernamePasswordClientIDRemember

  • 我提交與郵差這些每一個和我得到 Invalid Login錯誤。
  • 我猜這是因爲郵差不MM_validateForm成立餅乾狀()

誰能幫助我解決這個問題?如果是因爲cookies,有沒有辦法用Postman來設置?也許在header鍵和值區?

這裏是形式的所有輸入:

<form 
action="login-process.asp" 
method="post" 
name="form1" 
id="form1" onsubmit="MM_validateForm('ClientID','','R','Username','','R','Password','','R');return document.MM_returnValue"> 

...

<input 
name="ClientID" 
type="hidden" 
id="ClientID" 
value="LVSandsExpoCC"> 

...

<input 
name="Username" 
type="text" 
id="Username" 
value=""> 

...

<input 
name="Password" 
type="password" 
id="Password"> 

...

<input 
type="submit" 
name="Submit" 
value="Submit"> 

的MM_validateForm()(驗證後更新的Cookie)

var myDate = new Date(); 
    myDate.setDate(myDate.getDate() + 365); 
    if (document.getElementById("Remember").checked) { 
     jaaulde.utils.cookies.set("CelayixRemember", encodeURIComponent(document.getElementById("ClientID").value + "|" + document.getElementById("Username").value), { 
     secure: true, 
     expiresAt: myDate 
     }); 
    } else { 
     jaaulde.utils.cookies.set("CelayixRemember", "", { 
     secure: true, 
     expiresAt: myDate 
     }); 
    } 
    setClientPath(); 
    } 

回答

2

我懷疑這與ASPSESSIONIDASBUBTDA餅乾做。這是當我嘗試登錄你提到的頁面是什麼,Chrome會將: (image here

您需要使用Chrome檢索你的價值,使與郵差或捲曲的請求時使用它。

所以,捲曲命令應該是這樣的:上述

curl "https://websandsexpo.celayix.com/sandsexpo/login-process.asp" 
--data "ClientID=LVSandsExpoCC&Username=<username>&Password=<password>&Submit=Submit" 
--cookie "ASPSESSIONIDASBUBTDA=<value>" --cookie-jar ./cjar --compressed -L 

在命令-L確保CURL如下重定向如果在Location頭中設置。 --cookie-jar將您的cookies保存在一個文件中,以便您可以在將來的請求中重複使用它們。

在Postman中,我想,cookie應該明確地設置爲請求頭。

P.S.我強烈懷疑MM_validateForm()函數在這裏是任何相關的,因爲它只處理cookie到期日期。

+0

很好用的捲曲。謝謝! –

0

事實證明爲郵差,我的問題是這樣的:

我用Postman發送form-data但觀看開發者工具network標籤我看到了內容類型爲x-www-form-urlencoded時。

x-www-form-url-encoded example picture

Postman你有這個選項在身form-data發送以及x-www-form-urlencoded。我選擇了表單數據,這就是爲什麼它沒有進行身份驗證。

Postman example showing options

至於MM_validateForm(),我禁用了JavaScript,並仍然能夠登錄。如此看來,這是不是在這種情況下我的登錄失敗的原因。

作爲用戶makeiteasy說,

P.S.我強烈懷疑MM_validateForm()函數在這裏與 相關,因爲它只處理cookie到期日期。 - makeiteasy(Stackoverflow用戶)

這是非常真實的。