1. 程式人生 > >request和response物件的使用集合

request和response物件的使用集合

Asp使用request.ServerVariables當討論Request物件內容時,要研究的集合之一就是ServerVariables集合。

powered by 25175.net 這個集合包含了兩種值的結合體,一種是隨同頁面請求從客戶端傳送到伺服器的HTTP報頭中的值,另外一種是由伺服器在接收到請求時本身所提供的值。

ServerVariables集合中值的使用方式:

"自引用"頁面    在ServerVariables集合中返回的值包含Web伺服器的詳細資訊和當前頁面的路徑資訊。在任何地方建立一個頁面都可使用這些資訊。例如建立一個“自引用”頁面,此頁面能夠再次呼叫自身完成另一項任務,我們可以用以下程式碼:    <FORM ACTION=”<% = Request.ServerVariables(“PATH_INFO”) %>” METHOD=”POST”>  同樣的效果可以用HTTP的“script_NAME”值獲得:    <FORM ACTION=”<% = Request.ServerVariables(“script_NAME”) %>” METHOD=”POST”>    使用<A>元素開啟一個不同頁,可以使用:    ...    <%    strFullPath = Request.ServerVariables(“PATH_INFO”)    ‘Strip off the file name    strPathOnly = Left(strFullPath, InStrRev(strFullPath, “/”))    strNextPage = strPathOnly & “pages/next_page.asp”    %>    ...    <A HREF=../../../”<% = strNextPage %>”>Next Page</A>    ...    即使原始頁面的名稱或位置發生變化,這些例項都能正常工作,因為使用了當前頁面的路徑資訊(當然,第二個例子在分離的目標頁的名稱發生變化時執行會失敗)。      換句話說,如果為搜尋引擎的子會話自動建立URL,可以收集ServerVariable的一些值: strFullURL = http:// & Request.ServerVariables(“LOCAL_ADDR”) _                   & “:” & Request.ServerVariables(“SERVER_PORT”) _                  & Request.ServerVariables(“PATH_INFO”)

這個就是一個完整的url。

檢測瀏覽器的版本    ServerVariables集合中,另外一個有用的值是使用者瀏覽器的使用者代理字串。使用ServerVariables集合中的“HTTP_USER_AGENT”值來獲得使用者代理字串,一些指令碼用來解析該資訊並尋找生產廠家名稱和瀏覽器版本。

   <%    strUA = Request.ServerVariables(“HTTP_USER_AGENT”)    Response.Write “The User Agent string is <B>” & strUA & “</B><P>”    If InStr(strUA, “MSIE”) Then        Response.Write “To upgrade your browser go to “_                    & “<A HREF=../../../” & Chr(34) &

http://www.microsoft.com/ie/”_                    & Chr(34) & “>http://www.microsoft.com/ie/<A></P>”        intVersion = Cint(Mid(strUA, InStr(strUA, “MSIE”) + 5, 1))        If intVersion >=4 Then            Response.Write “You can use Microsoft Dynamic HTML”        End If    Else        If InStr(strUA, “Mozilla”) Then            If InStr(strUA, “compatible;”) = 0 Then                Response.Write “Your browser is probably Navigator. You can “_                        & “download the latest version of Navigator from “_                        & “<A HREF=../../../” & Chr(34) &
http://home.netscape.com/
”_                        & “download/”& Chr(34) & “>http://home.netscape.com”_                        & “/download/</A></P>”                intVersion = Cint(Mid(strUA, InStr(strUA, “/”) +1, 1))                If intVersion >= 4 Then                    Response.Write “You can probably use netscape Dynamic HTML”                End If            Else                strVersion = Mid(strUA, InStr(strUA, “compatible;”) + 12)                strProduct = Left(strVersion, InStr(strVersion, “ “))                Response.Write “Your browser is Navigator-compatible. You can”_                & “search for the manufacturer using a search engine, such as”_                & “<A HREF=../../../” & Chr(34) _                & “http://www.altavista.digital.com/cgi-bin/query?q=”_                & strProduct _                & Chr(34) & “>http://www.altavista.com/</A></P>”            End If        End If    End If    %>

   注意,netscape在使用者代理字串中不提供廠家的名稱,因而無法絕對保證一個瀏覽器一定是Navigator。

檢測瀏覽器的語言    ServerVariables集合中另外一個有用的值是“HTTP_ACCEPT_LANGUAGE”,它包含了一個當瀏覽器安裝時指定的,或硬編碼進使用者的地區版本的語言程式碼。語言程式碼的例子有en-us(英國、美國)、de-at(德國、澳大利亞)和es-pe(西班牙、祕魯)。    語言程式碼可以是一般的且省略方言標識:例如,在我們的站點Wrox者,大批瀏覽者都是將en(英語)作為語言程式碼。    因此,可以檢測語言程式碼並自動裝載一個合適的特定地區或指定語言版本的頁面。    StrLocale = Lcase(Left(Request.ServerVariables(“HTTP_ACCEPT_LANGUAGE”),2))    Select Case strLocale        Case “en”: Response.Redirect “http://uk_site.co.uk/”        Case “de”: Response.Redirect “http://de_site.co.de/”        Case “fr”: Response.Redirect “http://fr_site.co.fr/”        ‘... etc        Case Else: Response.Redirect “http://us_sitel.com/”    End Select   或者根據特定的方言,重定向頁面:    strLocale = Lcase(Request.ServerVariables(“HTTP_ACCEPT_LANGUAGE”)) Select Case strLocale        Case “en-gb”: Response.Redirect “http://uk_site.co.uk/”     Case “en-us”: Response.Redirect “http://us_site.com/”     Case “es-pe”: Response.Redirect “http://es_site2.co.pe/”        ‘...      Case Else: Response.Redirect “http://us_site1.com/” End Select

其他有用的ServerVariables集合的值    可以訪問和使用ServerVariables集合中的任何一成員,控制ASP頁面響應一個請求的方式。可以檢查一個瀏覽者訪問站點時使用的是否是預設埠80或還是另一個。在這個例子裡,尋找通過埠443的訪問——這個埠提供的是安全套接字層(Secure Socket Layer,SSI)訪問(和其他的協議),且將它們重定向到一個相應的頁面。    If Request.ServerVariables(“SERVER_PORT”) = “443”) Then        Response.Redirect “/securesite/default.asp”   ‘Secure user    Else        Response.Redirect “/normalsite/default.asp”   ‘Non-secure user    End If    假如要求瀏覽者註冊且由伺服器驗證(而不是允許他們在Web伺服器的IUSER帳號下匿名訪問,這個問題將在後面章節中詳細討論),可以查詢使用者名稱稱,來判定正在與我們打交道的使用者是誰,是否裝載頁面給該使用者。例如,下面的這個程式碼將只向名為Administrator的使用者顯示管理連結。    ...    <A HREF=../../../”dispcnfg.asp”>Change Display Configuration</A><BR>    <A HREF=../../../”dispcolr.asp”>Change Display Colors</A><BR>    <A HREF=../../../”keyboard.asp”>Change Keyboard Configuration</A><BR>    <%    If Request.ServerVariables(“AUTH_USER”) _      = Ucase(Request.ServerVariables(“SERVER_NAME”)) & “/Administrator” Then    %>      <A HREF=../../../”allusers.asp”>Administer All Users</A><BR>      <A HREF=../../../”usrlogon.asp”>Administer Logon Information</A>    <%    End If    %>    ...    注意ASP不填寫ServerVariables集合直到你訪問其中的一個成員。首次訪問該集合的一個成員將使IIS得到它的全部,應只在需要時才使用ServerVariables集合。

相關推薦

requestresponse物件的使用集合

Asp使用request.ServerVariables當討論Request物件內容時,要研究的集合之一就是ServerVariables集合。 powered by 25175.net 這個集合包含了兩種值的結合體,一種是隨同頁面請求從客戶端傳送到伺服器的HTTP報頭中的值,另外一種是由伺服器在接收到請求

DRF自帶的RequestResponse物件

# 轉載請留言聯絡 1.Request物件 DRF傳入檢視的request物件,不再是Django預設的HttpRequest物件,而是擴充套件了HttpRequest類的Request類的物件。 REST framework 提供了Parser解析器,在接收到請求後會自動根據Content-Type指

Servlet入門(五)requestresponse物件

前言       本章學習servlet中的request、response物件 方法 1.概念 相信大家在之前的章節已經看到了,我用到了request物件獲取前臺傳遞過來的資料: String username = request.getPar

Servlet(四):requestresponse物件

Request物件:問題:   瀏覽器發起請求到伺服器,會遵循HTTP協議將請求資料傳送給伺服器。 那麼伺服器接受到請求的資料改怎麼儲存呢?不但要存,而且要保證完成性。 解決:   使用物件進行儲存,伺服器每接受一個請求,就建立一個物件專門的存 儲此次請求的請求資料。 實現:    requ

Nodejs之request response 物件的具體介紹

res.app:同req.app一樣 res.append():追加指定HTTP頭 res.set()在res.append()後將重置之前設定的頭 res.cookie(name,value [,option]):設定Cookie opition: domain / expires / httpOnly

Servlet詳解(二):requestresponse物件

什麼是request和response request物件是伺服器對瀏覽器請求的封裝,而response是伺服器對伺服器響應的封裝。 request用來取出請求資訊,而response則用來新增要返回給瀏覽器的資訊。 使用response物件設定h

java Request物件Response物件詳解

一:概述 Web伺服器收到客戶端的http請求,會針對每一次請求,分別建立一個用於代表請求的request物件、和代表響應的response物件 一、Response物件 1.Resonse的繼承結構: ServletResponse--H

JavaWeb之Request物件Response物件詳解

一:概述 Web伺服器收到客戶端的http請求,會針對每一次請求,分別建立一個用於代表請求的request物件、和代表響應的response物件一、Response物件     1.Resonse的繼承結構:             ServletResponse--Ht

Request物件Response物件詳解

Request 1.獲取請求的基本資訊 1>獲取請求的url和uri 2>獲取url後面的請求引數部分的字串 3>獲取請求方式 4>獲取主機名,IP地址 5>獲取 Contexpath String url = request.get

SpringMVC獲取request物件response物件

其他Action繼承BaseAction 方法一: 1、BaseAction類 public class BaseAction { protected HttpServletRequest request; protected HttpServletRespo

request物件response物件

一、請求響應流程圖 伺服器處理請求的流程:   (1)伺服器每次收到請求時,都會為這個請求開闢一個新的執行緒。   (2)伺服器會把客戶端的請求資料封裝到request物件中,reques

JSP內建物件(包括requestresponse)以及解決url傳中文引數出現亂碼問題

一、內建物件簡介1、JSP內建物件是Web容器建立的一組物件,不使用new關鍵字就可以使用的內建物件。例如:out物件 <% int[] value={60,70,80}; for(int i:value){ out.println

jsp內建物件Requestresponse

1. 內建物件之前我們使用一個物件,必須通過類名new出來,之後才能使用!User  user=new User(); user.屬性名/user.方法但是我們剛才看到了一些列的request.getXXX()疑問?request物件何時被建立?在jsp中,不需要我們手動的例

說一下Servlet裏面得requestresponse

getmethod oca value 參數 緩存 地址 map () 封裝 當一個servlet被調用的時候,我們一般繼承帶協議的httpServlet,大方向上是下圖這樣 在這裏面request和response起了什麽作用呢? 來細究一下。 request:1.封

java 獲取requestresponse的一種方法

requestjava獲取request和response:HttpServletResponse response = ((ServletRequestAttributes) RequestContextHolder.getRequestAttributes()).getResponse();//獲取res

requestresponse中文亂碼問題後臺處理辦法

init resp character etc 構造方法 字符 字節數組 http pre request接收參數的中文亂碼的處理: GET: 方法一:使用String的構造方法: new String(request.getParameter("傳過來的name

ssm框架中獲取requestresponse

根據 屬性 使用 兩個 framework 容器 resp private ssm 有時候需要在Controller、service中使用HttpServletRequest或HttpServletResponse對象,這裏記下3種方法 1.直接在Controller接

spring MVC中獲取requestresponse:

log clas pos stc body stat response ons style spring MVC中獲取request和response: HttpServletRequest request = ((ServletRequestAttributes)

Fiddler抓包4-工具介紹(requestresponse

服務器 src 工具 -type 每一個 請求頭 協議 內容 直接 前言 本篇簡單的介紹下fiddler界面的幾塊區域,以及各自區域到底是幹什麽用的,以便於各好的掌握這個工具 一、工具簡介 1.第一塊區域是設置菜單,這個前面2篇都有介紹 2.第二塊區域是一些快捷菜單,可

Django爬蟲基本原理及RequestResponse分析

detail 密碼 href Go 模塊 ica 正則表達式 ons CI 一、爬蟲互聯網是由網絡設備(網線,路由器,交換機,防火墻等等)和一臺臺計算機連接而成,像一張網一樣。互聯網的核心價值在於數據的共享/傳遞:數據是存放於一臺臺計算機上的,而將計算機互聯到一起的目的就是