揭開ASP神秘面紗(2)

來源:互聯網
上載者:User
Request 對 象
  
  作者:米仙聖人
  
    Request對象是擷取用戶端瀏覽器傳送給伺服器的資料,也就是讓你從訪問你的ASP的訪問者那裡獲得資訊。Request對象(請求對象)包含Form 集合、QueryString集合、Cookies集合、ServerVariables集合和Clientcertificate集合等五個集合。
  
  1、Form
    Form 集合通過使用 POST 方法的表格檢索郵送到 HTTP 要求本文中的表格元素的值。
    文法 Request.Form(element)[(index)|.Count]
    參數
      element 指定集合要檢索的表格元素的名稱。
      index 選擇性參數,使用該參數可以訪問某參數中多個值中的一個。它可以是 1 到Request.Form(parameter).Count 之間的任意整數。
       Count 集合中元素的個數 
    Form 集合按請求本文中參數的名稱來索引。Request.Form(element) 的值是請求本文中所有 element 值的數組。通過調用 Request.Form(element).Count 來確定參數中值的個數。如果參數未關聯多個值,則計數為 1。如果找不到參數,計數為 0。要引用有多個值的表格元素中的單個值,必須指定 index 值。index 參數可以是從 1到Request.Form(element).Count 中的任一數字。如果引用多個表格參數中的一個,而未指定 index 值,返回的資料將是以逗號分隔的字串。
  
  2、QueryString
     QueryString 集合檢索 HTTP 查詢字串中變數的值 ,HTTP 查詢字串由問號 (?) 後的值指定。通過發送表格或由使用者在其瀏覽器的地址框中鍵入查詢也可以產生查詢字串。
     文法
     Request.QueryString(variable)[(index)|.Count]
     QueryString 集合可以讓您以名稱檢索 QUERY_STRING 變數。Request.QueryString( 參數 ) 的值是出現在 QUERY_STRING 中所有參數的值的數組。通過調用Request.QueryString(parameter).Count 可以確定參數有多少個值。
  
  3、Cookies
    Cookie 其實是一個標籤,當你訪問一個需要唯一標識你的站址的 WEB 網站時,它會在你的硬碟上留下一個標記,下一次你訪問同一個網站時,網站的頁面會尋找這個標記。每個 WEB 網站都有自己的標記,標記的內容可以隨時讀取,但只能由該網站的頁面完成。每個網站的 Cookie 與其他所有網站的 Cookie 存在同一檔案夾中的不同檔案內(你可以在 Windows 的目錄下的 Cookie 檔案夾中找到它們)。一個 Cookie 就是一個唯一標識客戶的標記,Cookie 可以包含在一個對話期或幾個對話期之間某個 WEB 網站的所有頁面共用的資訊,使用 Cookie 還可以在頁面之間交換信。Request 提供的 Cookies 集合允許使用者檢索在 HTTP 要求中發送的 cookie 的值。這項功能經常被使用在要求認證使用者密碼以及電子公告板、WEB 聊天室等 ASP 程式中。
     文法
     Request.Cookies(cookie)[(key)|.attribute]
     參數
     cookie 指定要檢索其值的 cookie。
     key 選擇性參數,用於從 cookie 字典中檢索子關鍵字的值。
     attribe 指定 cookie 自身的有關資訊。如:HasKeys 唯讀,指定 cookie 是否包含關鍵字。可以通過包含一個key 值來訪問 cookie 字典的子關鍵字。如果訪問 cookie 字典時未指定 key,則所有關鍵字都會作為單個查詢字串返回。例如,如果 MyCookie 有兩個關鍵字 ,First 和Second,而在調用 Request.Cookies 時並未指定其中任何一個關鍵字,那麼將返回下列字串。
     First=firstkeyvalue&Second=secondkeyvalue
     如果用戶端瀏覽器發送了兩個同名的 cookie,那麼 Request.Cookie 將返回其中路徑結構較深的一個。例如,如果有兩個同名的 cookie,但其中一個的路徑屬性為 /www/ 而另一個為 /www/home/,用戶端瀏覽器同時將兩個 cookie 都發送到 /www/home/ 目錄中,那麼 Request.Cookie 將只返回第二個 cookie。
     要確定某個 cookie 是不是 cookie 字典(cookie 有否有關鍵字),可使用下列指令碼。
     < %= Request.Cookies("myCookie").HasKeys %>
     如果 myCookie 是一個 cookie 字典,則前面的賦值為 TRUE。否則,為 FALSE。
  
  4、ServerVariables
     大家都知道在瀏覽器中瀏覽網頁的時候使用的傳輸協議是 HTTP,在 HTTP 的標題檔案中會記錄一些用戶端的資訊,如 : 客戶的 IP 位址等等,有時伺服器端需要根據不同的用戶端資訊做出不同的反映,這時候就需要用 ServerVariables 集合擷取所需資訊。
     文法
     Request.ServerVariables ( 伺服器環境變數 )
  
  
  伺服器變數 用途
  ALL_HTTP 包含有在表單HTTP_NAME:value下的非標準頭標的完整列表
  ALL_RAW 除了當它被接收的時候沒有HTTP首碼和其他的格式,其他的和ALL_HTTP一樣
  APLL_MD_PATH 包含有資料庫的邏輯路徑
  APLL_PHYSICAL_PATH 包含有資料庫的實體路徑
  AUTH_PASSWORD 如果使用最基本的身分識別驗證時所輸入的口令
  AUTH_TYPE 使用的安全身分識別驗證類型
  AUTH_USER 已經過身分識別驗證的使用者名稱
  CERT_COOKIE 包含客戶認證的唯一識別碼
  CERT_FLAGS 如果客戶認證存在,則設定第一個標誌位,如果Certificate Authority可信,則設定第二個標誌位
  CERT_ISSUER 客戶認證發放機構
  CERT_KEYSIZE 在SSL安全碼中的位元
  CERT_SECRETKEYSIZE 在伺服器中的SSL安全碼中的位元
  CERT_SERIALNUMBER 客戶認證的序號
  CERT_SERVER_ISSUER 發放伺服器認證的Certificate Authority
  CERT_SERVER_SUBJECT 伺服器認證的Subject域
  CERT_SUBJECT 客戶認證的Subject域
  CONTENT_LENGTH 訪問者向伺服器發出請求時報告的位元組數
  CONTENT_TYPE 請求的類型
  GATEWAY_INTERFACE 以CGI/版本號碼形式給出的CGI版本
  HTTPS 如果是一個安全請求,則包含字串on,否則的話包含字串off
  HTTPS_KEYSIZE 在請求中使用的SSL的位元
  HTTPS_SECRETKEYSIZE 在伺服器端使用的位元
  HTTPS_SERVER_ISSUER 伺服器認證的Certificate Authority
  HTTPS_SERVER_SUBJECT 伺服器認證的Subject域
  INSTANCE_ID Web伺服器的執行個體標識號
  INSTANCE_META_PATH 該具體執行個體的中繼資料庫路徑
  LOCAL_ADDR 伺服器的IP地址
  LOGON_USER 如果使用者是在NT系統上登入的話,那麼這個域中將包含有使用者名稱
  PATH_INFO 在網域名稱根目錄外的到被請求頁面的路徑
  PATH_TRANSLATED 請求的實體路徑
  QUERY_STRING 通過使用GET方法提交的任何資料,或是通過一個連結中的問號後面的資料
  REMOTE_ADDR 發出請求的機器的IP地址
  REMOTE_HOST 如果存在,為要求者的轉換名,否則的話,為包含這個IP地址的域
  REMOTE_USER 訪問者發送的使用者名稱
  REQUEST_METHOD 使用的REQUEST方法,即Post還是Get
  SCRIPT_NAME 被請求的指令碼的虛擬檔案位置
  SERVER_NAME 伺服器主機名稱
  SERVER_PORT 發送請求使用的連接埠號碼
  SERVER_PORT_SECURE 如果請求是通過安全連線發送的,那麼這個域中包含值1,否則的話包含0
  SERVER_PROTOCOL 使用的協議的版本號碼,即HTTP/11
  SERVE



相關文章

Beyond APAC's No.1 Cloud

19.6% IaaS Market Share in Asia Pacific - Gartner IT Service report, 2018

Learn more >

Apsara Conference 2019

The Rise of Data Intelligence, September 25th - 27th, Hangzhou, China

Learn more >

Alibaba Cloud Free Trial

Learn and experience the power of Alibaba Cloud with a free trial worth $300-1200 USD

Learn more >

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。