阿郎的技術搏客

          成長軌跡

          How to Read the Value of an HTTP Header

          How to Read the Value of an HTTP Header

          In the above sections, we have gone through several HTTP headers that are useful for user agent detection and device capabilities detection. Now one essential question remains: how to read the value of an HTTP header?

          Reading the value of an HTTP header is not difficult. Just use a server-side scripting technology to write a few lines of code. We will demonstrate how to read the value of an HTTP header using ASP, Java Servlet / JSP, Perl and PHP below.

          Retrieving HTTP Headers with ASP
          In ASP, you can use the ServerVariables collection of the Request object to retrieve the value of HTTP headers. You can choose either VBScript or JScript (JavaScript implemented by Microsoft) as the scripting language. If you use VBScript, the code for reading HTTP headers should be like this:

           ' Declaring variables
          Dim accept
          Dim user_agent
          Dim accept_charset
          Dim accept_language
          Dim x_wap_profile
          Dim profile

          accept = Request.ServerVariables("HTTP_ACCEPT")
          user_agent = Request.ServerVariables("HTTP_USER_AGENT")
          accept_charset = Request.ServerVariables("HTTP_ACCEPT_CHARSET")
          accept_language = Request.ServerVariables("HTTP_ACCEPT_LANGUAGE")
          x_wap_profile = Request.ServerVariables("HTTP_X_WAP_PROFILE")
          profile = Request.ServerVariables("HTTP_PROFILE")

           As you can see above, to retrieve the value of an HTTP header in ASP, we use Request.ServerVariables("HTTP_x"), where x is the HTTP header name with all the "-" characters replaced with the "_" character. ASP has other pre-defined server environment variables that can be placed inside the parentheses of ServerVariables() but we are not going to discuss about them since they are not useful to us here.

          If you use JScript, the code for reading HTTP headers should look like this:

           


          var accept = Request.ServerVariables("HTTP_ACCEPT");
          var user_agent = Request.ServerVariables("HTTP_USER_AGENT");
          var accept_charset = Request.ServerVariables("HTTP_ACCEPT_CHARSET");
          var accept_language = Request.ServerVariables("HTTP_ACCEPT_LANGUAGE");
          var x_wap_profile = Request.ServerVariables("HTTP_X_WAP_PROFILE");
          var profile = Request.ServerVariables("HTTP_PROFILE");

           Retrieving HTTP Headers with Java Servlet / JSP
          In Java Servlet or JSP, you can use the getHeader() method of the javax.servlet.http.HttpServletRequest object to retrieve the value of HTTP headers. Here is the code for reading HTTP headers:

           String accept = request.getHeader("accept");
          String user_agent = request.getHeader("user-agent");
          String accept_charset = request.getHeader("accept-charset");
          String accept_language = request.getHeader("accept-language");
          String x_wap_profile = request.getHeader("x-wap-profile");
          String profile = request.getHeader("profile");

           As you can see, to retrieve the value of an HTTP header whose name is x in Java Servlet or JSP, we use request.getHeader("x"), where request is an instance of the javax.servlet.http.HttpServletRequest class.

           Retrieving HTTP Headers with Perl
          In Perl, the values of HTTP headers are stored in the %ENV hash. Here is the code for retrieving HTTP headers:

           $accept = $ENV{"HTTP_ACCEPT"};
          $user_agent = $ENV{"HTTP_USER_AGENT"};
          $accept_charset = $ENV{"HTTP_ACCEPT_CHARSET"};
          $accept_language = $ENV{"HTTP_ACCEPT_LANGUAGE"};
          $x_wap_profile = $ENV{"HTTP_X_WAP_PROFILE"};
          $profile = $ENV{"HTTP_PROFILE"};

           As you can see above, to retrieve the value of an HTTP header in Perl, we use $ENV{"HTTP_x"}, where x is the HTTP header name with all the "-" characters replaced with the "_" character. Perl has other pre-defined values that can be placed inside the braces of $ENV{} but we are not going to discuss about them since they are not useful to us here.

           Retrieving HTTP Headers with PHP

          In PHP, the value of HTTP headers are stored in the $_SERVER array. Here is the code for retrieving HTTP headers:

           $accept = $_SERVER["HTTP_ACCEPT"];
          $user_agent = $_SERVER["HTTP_USER_AGENT"];
          $accept_charset = $_SERVER["HTTP_ACCEPT_CHARSET"];
          $accept_language = $_SERVER["HTTP_ACCEPT_LANGUAGE"];
          $x_wap_profile = $_SERVER["HTTP_X_WAP_PROFILE"];
          $profile = $_SERVER["HTTP_PROFILE"];

           As you can see above, to retrieve the value of an HTTP header in PHP, we use $_SERVER["HTTP_x"], where x is the HTTP header name with all the "-" characters replaced with the "_" character. PHP has other pre-defined values that can be placed inside the square brackets of $_SERVER[] but we are not going to discuss about them since they are not useful to us here

          posted on 2007-04-30 10:34 alone 閱讀(871) 評論(0)  編輯  收藏


          只有注冊用戶登錄后才能發(fā)表評論。


          網站導航:
           
          主站蜘蛛池模板: 新和县| 平顶山市| 宜君县| 乐亭县| 新竹县| 项城市| 康保县| 闽侯县| 科技| 长丰县| 衡东县| 鱼台县| 阳西县| 田林县| 天峨县| 鄱阳县| 伊春市| 柞水县| 沅陵县| 义乌市| 民和| 白水县| 红河县| 德安县| 北票市| 龙山县| 镇沅| 五常市| 汝南县| 河北区| 上饶市| 都江堰市| 庆安县| 桂平市| 辛集市| 乌兰浩特市| 芮城县| 林甸县| 土默特右旗| 阳谷县| 改则县|