2017-04-13 9 views
1

フォームがどのように提出するかを理解しようとしています。現在、私はこのサイトにサインオンしています:。、UsernamePassword:私がやりたい何Work websiteは、サインインしPostmanまたはcurlを使用しているフォームで郵便配達員またはカールを使用して第三者のウェブサイトにログインする:学習経験


は4つの可能なキーを参照してくださいですClientIDおよび Remember

  • 私は郵便配達してこれらの各1を提出していると私は Invalid Loginエラーを取得しています。
  • I)のポストマンはMM_validateForm(のようにクッキーを設定していないため、これは推測してい

誰も私がこれを解決するのに役立つことはできますか?それがクッキーのためであれば、これを郵便配達員に設定する方法はありますか?おそらく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()(後に検証し、それがクッキーを更新)

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でリクエストする際に使用する必要があります。

ので、CURLコマンドは次のようになります。上記のコマンドで

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を、それがLocationヘッダに設定されている場合、CURLはリダイレクトを次のようになります。 --cookie-jarは、将来のリクエストで再利用できるように、Cookieをファイルに保存します。

Postmanでは、クッキーは要求ヘッダーとして明示的に設定する必要があります。

P.S.私は、MM_validateForm()関数がクッキーの有効期限を処理するだけなので、ここで何らかの関連があることを強く疑う。

+0

カールでうまく使用できます。ありがとう! –

0

それはポストマンのため結局のところ、私の問題は、このでした:私はform-dataを送信するためにPostmanを使用しますが、私はコンテンツタイプがx-www-form-urlencodedであることを確認のdevのツールnetworkタブを表示したときました

Postman

x-www-form-url-encoded example picture

あなたは身体form-dataなどx-www-form-urlencodedに送信するには、このオプションを持っています。私は、それが認証されなかった理由であるフォームデータを選択しました。

Postman example showing options

限りMM_validateForm()として、私はJavascriptを無効にし、まだログインすることができました。この場合、私のログイン失敗の理由ではなかったようですので。 makeiteasy前記ユーザとして

P.S. MM_validateForm()関数は、クッキーの有効期限を処理するだけなので、ここでは のいずれかの関連性があることを強く疑う。 - makeiteasy

これは本当です。

関連する問題