2

大学の食事予約にログインしたい ので、Google Chrome でフォームを編集 actionし、自分のウェブサイトにデータを送信して、送信ボタンを押したときに何が送信されたかを確認します。

__LASTFOCUS=&__EVENTTARGET=&__EVENTARGUMENT=&__VIEWSTATE=/wEPDwULLTEyMDgzNjUwNDIPZBYCAgMPZBYSAgEPDxYCHgRUZXh0BboB2LPbjNiz2KrZhSAg2KfZhNqp2KrYsdmI2YbbjNqp24wg2KfZgdiy2KfbjNi0INin2LnYqtio2KfYsSDZiCDYrtix24zYryDamNiq2YjZhiDYr9in2YbYtNqv2KfZhyDYtdmG2LnYqtuMINiu2YjYp9is2Ycg2YbYtduM2LHYp9mE2K/bjNmGINi32YjYs9uMINiv2KfZhti02qnYr9mHINio2LHZgiDZiCDaqdin2YXZvtuM2YjYqtixZGQCAw8PFgYfAAVL2YbYp9mFINqp2KfYsdio2LHbjCDZiCDaqdmE2YXZhyDYudio2YjYsSDYrtmI2K8g2LHYpyDZiNin2LHYryDZhtmF2KfYptuM2K8uHghDc3NDbGFzcwUHbWVzc2FnZR4EXyFTQgICZGQCBQ8PFgIeB1Zpc2libGVoZGQCBw8WAh8DaGQCCQ8PFgIfA2hkZAIVDw8WAh8ABbML2K/Yp9mG2LTYrNmI2YrYp9mGINiv2KfZhti02qnYr9mHINio2LHZgiDZiCDaqdin2YXZvtmK2YjYqtixINio2Ycg2YXZhti42YjYsSDYp9mB2LLYp9mK2LQg2KfYudiq2KjYp9ixINin2YrZhtiq2LHZhtiq2Yog2Ygg2LHYstix2Ygg2LrYsNinINmF2Yog2KjYp9mK2LPYqiDYqNmHINmG2qnYp9iqINiw2YrZhCDYqtmI2KzZhyDZhtmF2KfZitmG2K8uDQoNCjEt2YbYp9mFINqp2KfYsdio2LHZiiDZiCDYsdmF2LIg2LnYqNmI2LHYjCDYtNmF2KfYsdmHINiv2KfZhti02KzZiNmK2Yog2LTZhdinINmF2Yog2KjYp9i02K/YjCDaqdmHINm+2LMg2KfYsiDZiNix2YjYryDZhdmKINio2KfZitiz2Kog2LHZhdiyINi52KjZiNixINiu2YjYryDYsdinINiq2LrZitmK2LEg2K/Zh9mK2K8uDQoNCjIt2K/YsSDYtdmI2LHYqiDYudiv2YUg2KrZiNin2YbYp9mK2Yog2YjYsdmI2K8g2KjZhyDYs9mK2LPYqtmF2Iwg2KjZhyDZvtmK2LrYp9mFINio2KfZhNin2Yog2LXZgdit2Ycg2KrZiNis2Ycg2YbZhdmI2K/ZhyDZiCDYqNmHINmF2YbYuNmI2LEg2LHZgdi5INmG2YLYtSDYqNmHINmB2YrYtCDZgdix2YjYtNmKINiv2KfZhti02qnYr9mHINmF2LHYp9is2LnZhyDZhtmF2KfZitmK2K8uDQoNCjMt2KjZhyDZhdmG2LjZiNixINin2YHYstin2YrYtCDYp9i52KrYqNin2LEg2YXZiiDYqNin2YrYs9iq2Iwg2YXZhtmI2Yog2KfZgdiy2KfZiti0INin2LnYqtio2KfYsSDYsdinINqp2YTZitqpINmG2YXYp9mK2YrYryDZiCDYqNinINiv2LEg2K/Ys9iqINiv2KfYtNiq2YYg2YraqdmKINin2LIg2qnYp9ix2Kog2YfYp9mKINio2KfZhtqp2Yog2LnYttmIINi02KrYp9ioINqp2Ycg2K/Yp9ix2KfZiiDYsdmF2LIg2KfZitmG2KrYsdmG2KrZiijYsdmF2LIg2K/ZiNmFKSDZiCDYsdmF2LIgQ1ZWMiDZhdmKINio2KfYtNivLiDYp9iyINi32LHZitmCINiz2KfZhdin2YbZhyDYqNin2YbaqSDaqdi02KfZiNix2LLZiiDYp9mC2K/Yp9mFINmG2YXYp9mK2YrYry4NCg0KNC3YqNmHINmF2YbYuNmI2LEg2LHYstix2Ygg2LrYsNinINmF2Yog2KjYp9mK2LPYqiDYp9iyINi32LHZitmCINio2LHZhtin2YXZhyDYutiw2KfZitmKINi62LDYp9mKINmF2YjYsdivINmG2LjYsSDYrtmI2K8g2LHYpyDYp9mG2KrYrtin2Kgg2YbZhdmI2K/ZhyDZiCDYs9m+2LMg2KjYsSDYsdmI2Yog2YXYsdio2Lkg2LPZhNmBINmH2YXYp9mGINix2YjYsiDaqdmE2YraqSDZiCDYqtin2YrZitivINmG2YXYp9mK2YrYry4NCg0KNS3YqNmHINmF2YbYuNmI2LEg2KfZhti12LHYp9mBINin2LIg2LrYsNin2Yog2LHYstix2Ygg2LTYr9mH2Iwg2YXZiiDYqtmI2KfZhtmK2K8g2KrYpyDZitqpINix2YjYsiDZgtio2YQg2KfYsiDZhdmI2LnYryDYqtit2YjZitmEINi62LDYp9iMINio2Kcg2LXZgdixINmG2YXZiNiv2YYg2KrYudiv2KfYryDYutiw2Kcg2K/YsSDYsdmI2LIg2YXZiNix2K8g2YbYuNix2Iwg2YLYr9in2YUg2YbZhdin2YrZitivLmRkAhcPFgIfA2hkAhkPDxYCHwAFDlZlcnNpb24gOiA3Ljg5ZGQCGw8PFgIfAAWCASDaqdmE2YrZhyDYrdmC2YjZgiDYp9mK2YYg2KfYq9ixINi32KjZgiDZgtmI2KfZhtmK2YYg2YbYsdmFINin2YHYstin2LHZiiDZhdiq2LnZhNmCINio2Ycg2LTYsdqp2Kog2KzZh9in2YYg2q/Ys9iq2LEg2YXZitio2KfYtNivLiBkZGQaTTds32c97LYgZhFGpQ6mmaEMKg==&__EVENTVALIDATION=/wEWBALtyp+2DQKl1bKdCAK1qbT2CQKC3IfLCT5A0UwjzwbH6JTK21okH7qC0C74&txtusername=myusername&txtpassword=mypassword&btnlogin=ورود&

その後、phpとcurlを使用してeコードを開発し、自動的に実行します。

$post_fields = '__LASTFOCUS=&__EVENTTARGET=&__EVENTARGUMENT=&__VIEWSTATE=/wEPDwULLTEyMDgzNjUwNDIPZBYCAgMPZBYSAgEPDxYCHgRUZXh0BboB2LPbjNiz2KrZhSAg2KfZhNqp2KrYsdmI2YbbjNqp24wg2KfZgdiy2KfbjNi0INin2LnYqtio2KfYsSDZiCDYrtix24zYryDamNiq2YjZhiDYr9in2YbYtNqv2KfZhyDYtdmG2LnYqtuMINiu2YjYp9is2Ycg2YbYtduM2LHYp9mE2K/bjNmGINi32YjYs9uMINiv2KfZhti02qnYr9mHINio2LHZgiDZiCDaqdin2YXZvtuM2YjYqtixZGQCAw8PFgYfAAVL2YbYp9mFINqp2KfYsdio2LHbjCDZiCDaqdmE2YXZhyDYudio2YjYsSDYrtmI2K8g2LHYpyDZiNin2LHYryDZhtmF2KfYptuM2K8uHghDc3NDbGFzcwUHbWVzc2FnZR4EXyFTQgICZGQCBQ8PFgIeB1Zpc2libGVoZGQCBw8WAh8DaGQCCQ8PFgIfA2hkZAIVDw8WAh8ABbML2K/Yp9mG2LTYrNmI2YrYp9mGINiv2KfZhti02qnYr9mHINio2LHZgiDZiCDaqdin2YXZvtmK2YjYqtixINio2Ycg2YXZhti42YjYsSDYp9mB2LLYp9mK2LQg2KfYudiq2KjYp9ixINin2YrZhtiq2LHZhtiq2Yog2Ygg2LHYstix2Ygg2LrYsNinINmF2Yog2KjYp9mK2LPYqiDYqNmHINmG2qnYp9iqINiw2YrZhCDYqtmI2KzZhyDZhtmF2KfZitmG2K8uDQoNCjEt2YbYp9mFINqp2KfYsdio2LHZiiDZiCDYsdmF2LIg2LnYqNmI2LHYjCDYtNmF2KfYsdmHINiv2KfZhti02KzZiNmK2Yog2LTZhdinINmF2Yog2KjYp9i02K/YjCDaqdmHINm+2LMg2KfYsiDZiNix2YjYryDZhdmKINio2KfZitiz2Kog2LHZhdiyINi52KjZiNixINiu2YjYryDYsdinINiq2LrZitmK2LEg2K/Zh9mK2K8uDQoNCjIt2K/YsSDYtdmI2LHYqiDYudiv2YUg2KrZiNin2YbYp9mK2Yog2YjYsdmI2K8g2KjZhyDYs9mK2LPYqtmF2Iwg2KjZhyDZvtmK2LrYp9mFINio2KfZhNin2Yog2LXZgdit2Ycg2KrZiNis2Ycg2YbZhdmI2K/ZhyDZiCDYqNmHINmF2YbYuNmI2LEg2LHZgdi5INmG2YLYtSDYqNmHINmB2YrYtCDZgdix2YjYtNmKINiv2KfZhti02qnYr9mHINmF2LHYp9is2LnZhyDZhtmF2KfZitmK2K8uDQoNCjMt2KjZhyDZhdmG2LjZiNixINin2YHYstin2YrYtCDYp9i52KrYqNin2LEg2YXZiiDYqNin2YrYs9iq2Iwg2YXZhtmI2Yog2KfZgdiy2KfZiti0INin2LnYqtio2KfYsSDYsdinINqp2YTZitqpINmG2YXYp9mK2YrYryDZiCDYqNinINiv2LEg2K/Ys9iqINiv2KfYtNiq2YYg2YraqdmKINin2LIg2qnYp9ix2Kog2YfYp9mKINio2KfZhtqp2Yog2LnYttmIINi02KrYp9ioINqp2Ycg2K/Yp9ix2KfZiiDYsdmF2LIg2KfZitmG2KrYsdmG2KrZiijYsdmF2LIg2K/ZiNmFKSDZiCDYsdmF2LIgQ1ZWMiDZhdmKINio2KfYtNivLiDYp9iyINi32LHZitmCINiz2KfZhdin2YbZhyDYqNin2YbaqSDaqdi02KfZiNix2LLZiiDYp9mC2K/Yp9mFINmG2YXYp9mK2YrYry4NCg0KNC3YqNmHINmF2YbYuNmI2LEg2LHYstix2Ygg2LrYsNinINmF2Yog2KjYp9mK2LPYqiDYp9iyINi32LHZitmCINio2LHZhtin2YXZhyDYutiw2KfZitmKINi62LDYp9mKINmF2YjYsdivINmG2LjYsSDYrtmI2K8g2LHYpyDYp9mG2KrYrtin2Kgg2YbZhdmI2K/ZhyDZiCDYs9m+2LMg2KjYsSDYsdmI2Yog2YXYsdio2Lkg2LPZhNmBINmH2YXYp9mGINix2YjYsiDaqdmE2YraqSDZiCDYqtin2YrZitivINmG2YXYp9mK2YrYry4NCg0KNS3YqNmHINmF2YbYuNmI2LEg2KfZhti12LHYp9mBINin2LIg2LrYsNin2Yog2LHYstix2Ygg2LTYr9mH2Iwg2YXZiiDYqtmI2KfZhtmK2K8g2KrYpyDZitqpINix2YjYsiDZgtio2YQg2KfYsiDZhdmI2LnYryDYqtit2YjZitmEINi62LDYp9iMINio2Kcg2LXZgdixINmG2YXZiNiv2YYg2KrYudiv2KfYryDYutiw2Kcg2K/YsSDYsdmI2LIg2YXZiNix2K8g2YbYuNix2Iwg2YLYr9in2YUg2YbZhdin2YrZitivLmRkAhcPFgIfA2hkAhkPDxYCHwAFDlZlcnNpb24gOiA3Ljg5ZGQCGw8PFgIfAAWCASDaqdmE2YrZhyDYrdmC2YjZgiDYp9mK2YYg2KfYq9ixINi32KjZgiDZgtmI2KfZhtmK2YYg2YbYsdmFINin2YHYstin2LHZiiDZhdiq2LnZhNmCINio2Ycg2LTYsdqp2Kog2KzZh9in2YYg2q/Ys9iq2LEg2YXZitio2KfYtNivLiBkZGQaTTds32c97LYgZhFGpQ6mmaEMKg==&__EVENTVALIDATION=/wEWBALtyp+2DQKl1bKdCAK1qbT2CQKC3IfLCT5A0UwjzwbH6JTK21okH7qC0C74&txtusername=8909103&txtpassword=temptemp&btnlogin=ورود&';
    $ch = curl_init("http://stu24.kntu.ac.ir/Login.aspx");;
    $cookie = fopen("temp.txt", "w+");
    curl_setopt($ch, CURLOPT_FOLLOWLOCATION,1);
    curl_setopt ($ch, CURLOPT_COOKIEJAR, $cookie); 
    curl_setopt ($ch, CURLOPT_COOKIEFILE, $cookie); 
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
    curl_setopt($ch, CURLOPT_USERAGENT, 'Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.9.0.8) Gecko/2009032609 Firefox/3.0.8');
    curl_setopt($ch, CURLOPT_POST, 1);
    curl_setopt($ch, CURLOPT_POSTFIELDS, $post_fields);
    $x = curl_exec($ch);
    echo ($x);
    curl_close($ch);    

ただし、サーバーからエラーが返されます。

「/」アプリケーションでサーバー エラーが発生しました。

このページの状態情報は無効であり、破損している可能性があります。

説明: 現在の Web 要求の実行中に未処理の例外が発生しました。エラーの詳細とコード内のどこでエラーが発生したかについては、スタック トレースを確認してください。

例外の詳細: System.Web.HttpException: このページの状態情報が無効であり、破損している可能性があります。

ソース エラー:

この未処理の例外を生成したソース コードは、デバッグ モードでコンパイルした場合にのみ表示できます。これを有効にするには、次のいずれかの手順に従って、URL をリクエストしてください。

1. エラーを生成したファイルの先頭に「Debug=true」ディレクティブを追加します。例:

  

また:

2) アプリケーションの構成ファイルに次のセクションを追加します。


   
       
   


この 2 番目の手法では、特定のアプリケーション内のすべてのファイルがデバッグ モードでコンパイルされることに注意してください。最初の手法では、特定のファイルのみがデバッグ モードでコンパイルされます。

重要: デバッグ モードでアプリケーションを実行すると、メモリ/パフォーマンスのオーバーヘッドが発生します。運用シナリオにデプロイする前に、アプリケーションのデバッグが無効になっていることを確認する必要があります。

スタックトレース:


[FormatException: Base-64 char 配列の長さが無効です。]
   System.Convert.FromBase64String(String s) +0
   System.Web.UI.ObjectStateFormatter.Deserialize(String inputString) +72
   System.Web.UI.ObjectStateFormatter.System.Web.UI.IStateFormatter.Deserialize(String serializedState) +4
   System.Web.UI.Util.DeserializeWithAssert (IStateFormatter フォーマッター、文字列 serializedState) +37
   System.Web.UI.HiddenFieldPageStatePersister.Load() +113

[ViewStateException: 無効なビューステートです。
    クライアント IP: 209.54.48.51
    ポート: 47212
    ユーザーエージェント: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.9.0.8) Gecko/2009032609 Firefox/3.0.8
    ビューステート:/wEPDwULLTEyMDgzNjUwNDIPZBYCAgMPZBYSAgEPDxYCHgRUZXh0BboB2LPbjNiz2KrZhSAg2KfZhNqp2KrYsdmI2YbbjNqp24wg2KfZgdiy2KfbjNi0INin2LnYqtio2KfYsSDZiCDYrtix24zYryDamNiq2YjZhiDYr9in2YbYtNqv2KfZhyDYtdmG2LnYqtuMINiu2YjYp9is2Ycg2YbYtduM2LHYp9mE2K/bjNmGINi32YjYs9uMINiv2KfZhti02qnYr9mHINio2LHZgiDZiCDaqdin2YXZvtuM2YjYqtixZGQCAw8PFgYfAAVL2YbYp9mFINqp2KfYsdio2LHbjCDZiCDaqdmE2YXZhyDYudio2YjYsSDYrtmI2K8g2LHYpyDZiNin2LHYryDZhtmF2KfYptuM2K8uHghDc3NDbGFzcwUHbWVzc2FnZR4EXyFTQgICZGQCBQ8PFgIeB1Zpc2libGVoZGQCBw8WAh8DaGQCCQ8PFgIfA2hkZAIVDw8WAh8ABbML2K/Yp9mG2LTYrNmI2YrYp9mGINiv2KfZhti02qnYr9mHINio2LHZgiDZiCDaqdin2YXZvtmK2YjYqtixINio2Ycg2YXZhti42YjYsSDYp9mB2LLYp9mK2LQg2KfYudiq2KjYp9ixINin2YrZhtiq2LHZhtiq2Yog2Ygg2LHYstix2Ygg2LrYsNinINmF2Yog2KjYp9mK2LPYqiDYqNmHINmG2qnYp9iqINiw2YrZhCDYqtmI2KzZhyDZhtmF2KfZitmG2K8uDQoNCjEt2YbYp9mFINqp2KfYsdio2LHZiiDZiCDYsdmF2LIg2LnYqNmI2LHYjCDYtNmF2KfYSD...]

[HttpException (0x80004005): このページの状態情報は無効であり、破損している可能性があります。]
   System.Web.UI.ViewStateException.ThrowError(Exception inner、String persistedState、String errorPageMes​​sage、Boolean macValidationError) +106
   System.Web.UI.ViewStateException.ThrowViewStateError(Exception inner, String persistedState) +14
   System.Web.UI.HiddenFieldPageStatePersister.Load() +217
   System.Web.UI.Page.LoadPageStateFromPersistenceMedium() +105
   System.Web.UI.Page.LoadAllState() +43
   System.Web.UI.Page.ProcessRequestMain (ブール値 includeStagesBeforeAsyncPoint、ブール値 includeStagesAfterAsyncPoint) +6785
   System.Web.UI.Page.ProcessRequest(ブール値 includeStagesBeforeAsyncPoint、ブール値 includeStagesAfterAsyncPoint) +242
   System.Web.UI.Page.ProcessRequest() +80
   System.Web.UI.Page.ProcessRequestWithNoAssert(HttpContext コンテキスト) +21
   System.Web.UI.Page.ProcessRequest(HttpContext コンテキスト) +49
   ASP.login_aspx.ProcessRequest(HttpContext コンテキスト) +37
   System.Web.CallHandlerExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute() +181
   System.Web.HttpApplication.ExecuteStep(IExecutionStep ステップ、ブール値 & 完了した同期) +75

バージョン情報: Microsoft .NET Framework バージョン:2.0.50727.3053; ASP.NET バージョン:2.0.50727.3053

$post_fieldsユーザー名とパスワードのみに制限すると、ログインページに再度リダイレクトされます。問題はどこにあり、どのように解決すればよいですか?

4

1 に答える 1

0

ビューステートが無効です。それでも問題が解決しない場合は、最初にログイン ページにアクセスして、そこから vistate を取得してみてurlencodeください。$post_fields

于 2012-05-21T07:06:02.420 に答える