4

簡単な質問ですが、自分で明確にする必要があります。リクエストオブジェクトでアクセスできるコレクションに関しては、次のとおりです。

Cookies:    (whats in  a text file in the browser)
Querystring:   (whats passed in the url like [key=value&key=value etc])
Server Variables:  ?
Form Variables:    ?

?次は、http packet/htmlのどこに配置されているのかよくわからないものです。私はwiresharkを使用してキャプチャを行いました:

POST /Security/HelixSessionAuth.aspx HTTP/1.0
Content-Type: application/x-www-form-urlencoded
Content-Length: 391

ClientIP=192.168.20.31
Url=%2Fflash%2F56553550%5Fhi%2Emp4
Log=SESSIONSTART%20%5B13%2FDec%2F2010%3A16%3A31%3A23%20%2B0000%5D%20%20flash%2F56553550%5Fhi%2Emp4%200%20192%2E168%2E20%2E31%203%20%5B13%2FDec%2F2010%3A16%3A31%3A23%20%2B0000%5D%200%200%200%20%5B0%20No%20Error%5D%20%5B0%20No%20Error%5D%20%5Brtmp%3A%2F%2Fhelix%2Epete%2Evideolibraryserver%2Ecom%2Fflash%2F56553550%5Fhi%2Emp4%5D%0A
HTTP/1.1 404 Not Found
Content-Type: text/html; charset=us-ascii
Server: Microsoft-HTTPAPI/2.0
Date: Mon, 13 Dec 2010 16:31:23 GMT
Connection: close
Content-Length: 315

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN""http://www.w3.org/TR/html4/strict.dtd">
<HTML><HEAD><TITLE>Not Found</TITLE>
<META HTTP-EQUIV="Content-Type" Content="text/html; charset=us-ascii"></HEAD>
<BODY><h2>Not Found</h2>
<hr><p>HTTP Error 404. The requested resource is not found.</p>
</BODY></HTML>

上記のフィードのどこにありますか?

4

3 に答える 3

2

このためのWiresharkは、ちょっとした大ハンマーです。HttpRequestのMSDNドキュメントから始めることをお勧めします。これは、フォームとサーバーのコレクションが何であり、それらが何を表しているのかを理解するのに役立つはずです。そうすれば、実際のデータパケットで何を探しているのかがわかります。

于 2010-12-14T11:51:58.910 に答える
2

フォームコレクションは、POSTメソッドを介してアクションページに渡されるページ内のコントロールのリストです。クエリ文字列はGETであり、POSTはフォームコレクションにアイテムを追加します。POSTでコントロールの名前がわかっている場合は、次を使用してアクションページでその値にアクセスできます。

Request.Form("myControl")

.Net Webフォームでは、これはもう少し複雑です。これは、.Netが特殊なClientIDを挿入して、実際のコントロールのIDをコードビハインドに保持するためです。

サーバーコレクションは、クライアント、サーバー、接続、ブラウザなどに関する情報を識別する一般的なサーバー変数のコレクションです。完全なリストは次の場所にあります。

https://msdn.microsoft.com/en-us/library/ms524602(v=vs.90).aspx

于 2010-12-14T11:58:28.420 に答える
1

まず、ツールについて。WireSharkは、HTTPの概念を学習するために必要のない低レベルのパケット分析ツールです。代わりにFiddlerを使用してください。

ServerVariables:

これは、aspclassicの古いオブジェクトです。現在、それらのオブジェクトには多くのエイリアスがあります。たとえばRequest.UserHostAddress、のエイリアスですRequest.ServerVariables("remote_addr")。またHeaders、、、オブジェクト、...はこのオブジェクトから利用できますCookiesSessionこのオブジェクトには、下位互換性があります。

フォーム変数:

ASP.NETのすべてのコントロールは、ASP.NETによってIDで追跡され、それらの状態はViewState非表示フィールド内に保持されます。ビューステートは、ASP.NETWebページがWebフォームの状態への変更を永続化するために使用する手法PostBacksです。したがって、すべてのPostBack(フォーム投稿、つまりボタンをクリックする)ASP.NETは、サーバー側でフォームオブジェクトとその子(フォーム内のコントロール)を投稿データから再入力します。それがフォームコレクションと呼ばれます。

于 2010-12-14T12:11:20.857 に答える