찾다
백엔드 개발C#.Net 튜토리얼Asp.net 내장 개체 요청 개체 사용 예 요약
Asp.net 내장 개체 요청 개체 사용 예 요약May 23, 2017 am 11:45 AM
request내장 객체

요청 개체는 주로 사용자가 입력한 데이터, 클라이언트에 저장된 쿠키 등 클라이언트로부터 데이터를 가져오는 데 사용됩니다. 이 글에서는 요청 개체에 중점을 두고 주요 기능인 양식 변수 읽기에 대해 설명합니다. 문자열 변수를 읽어 웹 서버의 시스템 정보를 얻습니다. 클라이언트 브라우저 정보 등을 얻습니다. 관심 있는 친구는

머리말:
에 대해 알아볼 수 있습니다. 요청 개체는 주로 사용자가 양식을 작성하는 것과 같이 클라이언트로부터 데이터를 얻는 데 사용됩니다. . 클라이언트에 저장된 데이터, 쿠키 등

1. Request 객체 개요

1. 주요 속성

 ApplicationPath  获取服务器上asp.net应用程序的虚拟应用程序根路径
 Browser  获取有关正在请求的客户端的浏览器功能的信息,该属性值为:HttpBrowserCapabilities对  象
 ContentEncoding  获取或设置实体主体的字符集。该属性值为表示客户端的字符集Encoding对象
 ContentLength  指定客户端发送的内容长度,以字节为单位 
 ContentType  获取或设置传入请求的MIME内容类型。
 Cookies  获取客户端发送的Cookie集合,该属性值为表示客户端的Cookie变量的  HttpCookieCollection对象
 CurrentExecutionFilePath  获取当前请求的虚拟路径
 FilePath  获取当前请求的虚拟路径
 Files  获取客户端上载的文件集合。该属性值为HttpFileCollection对象,表示客户端上载的文件集合
 Form  获取窗体变量集合
 HttpMethod  获取客户端使用的HTTP数据传输方法(如:get、post或head)
 Item  获取Cookies、Form、QueryString或ServerVariables集合中指定的对象
 Params  获取Cookies、Form、QueryString或ServerVariables项的组合集合
 Path  获取当前请求的虚拟路径
 PathInfo  获取具有URL扩展名的资源的附加路径信息
 PhysicalApplicationPath  获取当前正在执行的服务器应用程序的根目录的物理文件系统路径
 PhysicalPath  获取与请求的URL相对应的物理文件路径
 QueryString  获取HTTP查询字符串变量集合。该属性值为:NameValueCollection对象,它包含由客户端发送的查询字符串变量集合
 RequestType  获取或设置客户端使用HTTP数据传输的方式(get或post)
 ServerVariables  获取Web服务器变量的集合
 TotalBytes  获取当前输入流的字节数
 Url  获取有关当前请求URL的信息
 UserHostAddress  获取远程客户端的IP主机地址
   

2. 메인 메소드

(1) MapPath(VirtualPath): 현재 요청된 URL의 가상 경로 virtualPath를 서버의 물리적 경로에 매핑합니다. virtualPath 매개변수는 현재 요청의 가상 경로(절대 경로 또는 상대 경로)를 지정합니다. 이 메서드의 반환 값은 virtualPath로 지정된 서버의 물리적 경로입니다.

(2)SaveAs(파일 이름, includeHeaders): http 요청을 디스크에 저장합니다. 매개변수 filename은 물리적 드라이브 경로를 지정하고 includeHeaders는 HTTP 헤더를 디스크에 저장해야 하는지 여부를 지정하는 부울 값입니다.

2. 요청 객체 적용

1. 양식 변수를 읽는 네 가지 방법 :

(1) 사용 Request.Form 속성을 사용하여 양식 변수를 읽습니다
(2). Request.QueryString 속성을 사용하여 양식 변수를 읽습니다
(3). Request.Params 속성을 사용하여 양식 변수를 읽습니다
(4 ). 서버 컨트롤

의 속성을 통해 직접 양식 변수를 읽습니다. (1) HtmlForm 컨트롤의 양식 변수

Method 속성을 읽으려면 Request.Form 속성을 사용합니다. 기본값은 포스트입니다. 이 경우 사용자가 웹 페이지를 제출하면 양식 데이터가 HTTP 헤더 형식으로 서버 측으로 전송됩니다. 이 시점에서 Request 개체의 Form 속성을 사용하여 양식 변수를 읽을 수 있습니다. 예: txtUserName 및 txtPassword의 텍스트 상자 컨트롤에서 해당 값은 다음 형식으로 읽을 수 있습니다: Request.Form["txtUserName"] ;Request.Form["txtPassword"]

(2) 요청 사용 .QueryString 속성은

양식 변수를 읽습니다. HtmlForm 컨트롤의 Method 속성이 get으로 설정된 경우 사용자가 웹 페이지를 제출하면 양식 데이터가 URL에 추가되어 다음으로 전송됩니다. 서버. 이 경우 Request 개체의 QueryString 속성을 사용하여 양식 변수를 읽을 수 있습니다. Request.QueryString["txtUserName"] ;Request.QueryString["txtPassword"]

(3) Request.Params 속성을 사용하여 양식 변수를 읽습니다.

HtmlForm 컨트롤은 값이므로 Request 개체의 Params 속성을 사용하여 Request.Params["txtPassword"] 또는 Request.["txtPassword"]와 같은 양식 변수의 내용을 읽을 수 있습니다. GET 메서드로 제출된 데이터는 다음과 같습니다. 우선순위가 주어지면 QueryString, Form, ServerVariable 순으로 검색됩니다.

요청: 위의 두 가지 방법이 포함되어 있습니다(GET 방법으로 제출된 데이터를 먼저 가져옴). QueryString, Form, ServerVariable을 순서대로 검색합니다. Request.Params는 post와 get으로 전달되는 모든 값의 모음입니다. request.params는 실제로 request.QueryString, request.Form, request.cookies, request.ServerVariable을 포함하는 모음입니다.

참고: Request.Params를 사용할 때는 이러한 컬렉션 항목 중 동일한 이름을 가진 항목을 포함하지 않는 것이 가장 좋습니다. 양식에 데이터 일부만 필요하지만 Request.Form 대신 Request를 사용하는 경우 프로그램은 QueryString 및 ServerVariable에서도 검색합니다. QueryString 또는 ServerVariable에 동일한 이름을 가진 항목이 있는 경우 얻는 값은 원하는 값이 아닙니다.

(4) 서버 컨트롤의 속성을 통해 폼 변수 직접 읽기

위의 세 가지 방법 외에도 서버 컨트롤의 속성을 통해 폼 변수를 직접 읽을 수도 있습니다. 이는 양식 데이터를 얻는 가장 일반적이고 간단한 방법입니다. 예: txtUserName.Text

2. 쿼리 문자열 변수 읽기

웹을 탐색할 때 브라우저 주소 표시줄에 "xxx.aspx?id=8018"과 같은 URL이 표시되는 경우가 많습니다. 여기서 xxx.aspx는 방문을 원한다는 의미입니다. .aspx 웹 페이지에서 물음표(?)가 뒤따르는 내용은 쿼리 문자열이며, 해당 기능은 처리를 위해 변수의 이름과 값을 이 ASP.NET 파일로 전송하는 것입니다. 쿼리 문자열 변수는 여러 가지 방법으로 생성될 수 있습니다.

(1) HtmlForm 컨트롤의 Method 속성이 get으로 설정된 경우 사용자가 웹 페이지를 제출하면 양식 데이터가 쿼리 문자열 변수로 URL에 첨부되어 섬기는 사람.
(2) 태그 또는 HyperLink 컨트롤을 사용하여 하이퍼텍스트 링크를 생성할 때 대상 URL 뒤에 쿼리 문자열을 넣고 "?" URL과 쿼리 문자열을 분리합니다
(3). Response.Redirect 메소드를 호출할 때 URL 매개변수에 변수 이름/값 쌍이 첨부되어 있으면 이러한 변수 값이 URL에 첨부되어 대상 웹페이지가 열릴 때 서버.
(4). 브라우저 주소창에 요청 URL을 입력할 때, URL 뒤에 물음표 "?"를 입력하세요. 예: http://…/t.aspx?Id=8018

위의 상황에서는 Request.QueryString 속성을 통해 쿼리 문자열 변수를 검색할 수 있습니다.

다음 코드:

//在登陆页面 protected void Button1_Click(object sender, EventArgs e) { //登陆 //if (txtUserName.Text == "admin" && txtPwd.Text == "123") //{ // Session["Info"] = "随便一个值"; // Response.Redirect("Request2_test.aspx?Info=" + txtUserName.Text); //} //else //{ // Response.Redirect("Request2_test.aspx?error=登陆失败!"); //} /***********************************方法2****************************************/ //或者 if (txtUserName.Text == "admin" && txtPwd.Text == "123") { Response.Redirect("Request2_test.aspx?Info=" + txtUserName.Text + "&check=1"); } else { Response.Redirect("Request2_test.aspx?error=登陆失败!"); } }

인증 페이지에서

코드는 다음과 같습니다:

protected void Page_Load(object sender, EventArgs e) 
{ 
//验证页面 
//if (Session["Info"] != 
null
 && Session["Info"].ToString() == "随便一个值") 
//{ 
// Response.Write("登陆成功!<br>" + Request.QueryString["Info"] + ",欢迎访问本站"); 
// //Response.Write("登陆成功!<br>" + Request["Info"] + ",欢迎访问本站"); 
// //Response.Write("登录成功!<br>"+Request.Form["username"]+",欢迎访问本站"); 
//} 
//else 
//{ 
// Response.Write("登陆失败"); 
//} 
/***************************************方法2**********************************/ 
if (Convert.ToInt32(Request["check"]) == 1) 
{ 
Response.Write("登陆成功!<br>" + Request.QueryString["Info"] + ",欢迎访问本站"); 
} 
else 
{ 
Response.Write("登陆失败"); 
} 
}

3. 웹 서버의 시스템 정보 얻기

Request 개체는 ServerVariables 컬렉션 개체를 사용하여 서버 측 시스템 정보를 저장합니다. 이러한 정보 변수는 HTTP 헤더에 포함되어 HTTP 요청과 함께 전송됩니다. . Request 객체의 ServerVariables 컬렉션 객체를 이용하여 환경변수를 구하는 구문은 다음과 같습니다. Request.ServerVariables[환경변수명]

ServerVariables 컬렉션 객체에 저장되는 공통 정보변수는 다음과 같습니다.

 代码如下:

Response.Write(Request.ServerVariables["LOCAL_ADDR"]);//远端服务器的地址 Response.Write("<br>"); Response.Write(Request.ServerVariables["Remote_ADDR"]);//浏览器所在主机的IP地址 Response.Write("<br>"); Response.Write(Request.Browser.Type.ToString());//浏览器的类型 Response.Write("<br>"); Response.Write(Request.Browser.Platform.ToString());//浏览器所在的平台 Response.Write("<br>"); Response.Write(Request.ServerVariables["url"]);

4.取得客户端浏览器信息

通过Request对象的Browser属性得到。需要利用Browser属性生成一个HttpBrowserCapabilities类型的对象实例。HttpBrowserCapabilities类具有的常用属性如下:

 代码如下:

Response.Write("浏览器的类型是:" + Request.Browser.Browser.ToString()+"<br>"); Response.Write("浏览器的版本是:" + Request.Browser.Version.ToString()+"<br>"); Response.Write("浏览器的所在平台是:" + Request.Browser.Platform.ToString()+"<br>"); Response.Write("浏览器是否支持框架:" + Request.Browser.Frames.ToString()+"<br>"); Response.Write("浏览器是否支持Cookies:" + Request.Browser.Cookies.ToString()+"<br>"); Response.Write("浏览器是否支持Javascript:" + Request.Browser.JavaScript.ToString()+"<br>");

5.读取客户端Cookie

Cookie是在HTTP协议下服务器或脚本可以维护客户工作站上信息的一种方式。Cookie是由Web服务器保存在用户浏览器上的小文本文件,它可以包含有关用户的信息,这些信息以名/值对的形式储存在文本文件中。无论何时,只要用户连接接到服务器,Web站点就可以访问Cookie信息。Cookie保存在用户的Cookie文件中,当下一次用户返回时,仍然可以对它进行调用。

Cookies集合是由一些Cookie对象组成的。Cookie对象的类名为HttpCookie。HttpCookie类的主要属性如下:

使用Cookie时,应注意以下几点

[1].使用Cookie保存客户端浏览器请求服务器页面的请求信息时,保存时间的长短取决于Cookie对象的Expires属性,可以根据需要来设置。若未设置Cookie的失效日期,则它们仅保存到关闭浏览器为止。若将Cookie对象的Expires属性设置为DateTime.MaxValue,则表示Cookie永远不会过期。

[2].Cookie存储的数据量有所限制,大多数浏览器支持的最大容量为4096字节,因此不要用Cookie来保存大量数据。

[3].  并非所有浏览器都支持Cookie,并且数据是以明文形式保存在客户端计算机中,因此最好不要用Cookie来保存敏感的未加密数据。

[4].在ASP.NET中有两个Cookies集合,即:Response对象的Cookies集合和Request对象的Cookies集合,但两者的作用有所不同,通过前者可以将Cookie写入客户端,通过后者可以读取存储在客户端的Cookie。

如下操作:

示例如下:

代码如下:

protected void Page_Load(object sender, EventArgs e) 
{ 
HttpCookie c1=Request.Cookies["UserName"]; 
HttpCookie c2 = Request.Cookies["Password"]; 
if (c1 != null || c2 != null) 
{ 
//当保存完Cookie之后(也就是说"保存或永久保存"),这个才能输出,当第二次用统一浏览器打开该网站的时候就会输出 
Response.Write(c1.Value + "欢迎光临"); 
} 
} 
protected void Button1_Click(object sender, EventArgs e) 
{ 
//提交 
if (TextBox1.Text == "admin" && TextBox2.Text == "123") 
{ 
Response.Write("欢迎光临"+TextBox1.Text); 
Response.Cookies["UserName"].Value = TextBox1.Text; 
Response.Cookies["Password"].Value = TextBox2.Text; 
if (Dro
pDo
wn
List
1.SelectedItem.Text == "永久保存") 
{ 
//默认cookies失效时间是直到关闭浏览器 
//Cookie保存永久 
Response.Cookies["UserName"].Expires = DateTime.MaxValue; 
Response.Cookies["Password"].Expires = DateTime.MaxValue; 
} 
else 
{ 
//Cookie永不保存 
Response.Cookies["UserName"].Expires = DateTime.Now; 
Response.Cookies["Password"].Expires = DateTime.Now; 
} 
} 
}

当我们再次打开该网站(同一浏览器)的时候,就会弹出“admin欢迎光临"

【相关推荐】

1. 谈谈Request和Response这两个对象的使用

2. 分享一个Request对象小案例

3. 分享asp中request对象五个获取客户端资料的方法

4. 详解ASP.NET 系统对象之Request

위 내용은 Asp.net 내장 개체 요청 개체 사용 예 요약의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
php request什么意思php request什么意思Jul 07, 2021 pm 01:49 PM

request的中文意思为“请求”,是php中的一个全局变量,是一个包含了“$_POST”、“$_GET”和“$_COOKIE”的数组。“$_REQUEST”变量可以获取POST或GET方式提交的数据、COOKIE信息。

怎么将Vue3 Axios拦截器封装成request文件怎么将Vue3 Axios拦截器封装成request文件May 19, 2023 am 11:49 AM

1、创建一个名为request.js的新文件,并导入Axios:importaxiosfrom&#39;axios&#39;;2、创建一个名为request的函数,并将其导出:这将创建一个名为request的函数,并将其设置为具有基本URL的新的Axios实例。要在封装的Axios实例中添加超时设置,可以在创建Axios实例时传递timeout选项。exportconstrequest=axios.create({baseURL:&#39;https://example.

学习使用常见的PHP内建对象:掌握内建对象的操作和用法学习使用常见的PHP内建对象:掌握内建对象的操作和用法Jan 10, 2024 am 10:02 AM

掌握PHP内置对象:学习常用内置对象的操作和用法,需要具体代码示例PHP作为一种广泛应用的后端开发语言,它提供了许多强大的内置对象,可以帮助我们高效地开发和管理网站。掌握这些内置对象的操作和用法对于PHP开发者来说是至关重要的。本文将介绍一些常用的PHP内置对象,并提供具体的代码示例。一、字符串处理对象(String)字符串处理在Web开发中经常用到,PHP

asp内置对象有哪些asp内置对象有哪些Nov 09, 2023 am 11:32 AM

asp内置对象有Request、Response、Session、Application、Server、Session.Contents、Application.Contents、Server.CreateObject、Server.MapPath、Server.Execute、Server.Transfer等。详细介绍:1、Request:表示HTTP请求对象等等。

vue内置对象有哪些vue内置对象有哪些Nov 08, 2023 pm 04:52 PM

vue内置对象有Vue、Vue实例、data、el、options、parent、root、children、slots、scopedSlots、refs、isServer、attrs和listeners。Vue.js是一个用于构建用户界面的渐进式JavaScript框架。在Vue.js中,有一些内置对象或全局API,这些对象和API可以用于创建和管理Vue应用程序。

Python内置对象都有哪些Python内置对象都有哪些Nov 08, 2023 am 10:19 AM

Python内置对象有“int”、“float”、“str”、“list”、“tuple”、“dict”、“set”、“bool”、“NoneType”和“function”等十种:1、int,用于表示整数值;2、float,用于表示实数值;3、str,用于表示文本数据;4、list,用于存储一系列有序的元素;5、tuple,元组类型;6、dict,用于存储键值对的数据结构等。

nodejs 有哪些内置对象nodejs 有哪些内置对象Nov 07, 2023 pm 03:33 PM

nodejs内置对象有Global、Process、Buffer、Console、Timer、EventEmitter、Stream、File System、HTTP、URL、Query String、Crypto、Path、OS等。详细介绍:1、Global:全局对象,类似于浏览器环境中的window对象,可以在任何地方访问;2、Process等等。

PHP中的request是什么PHP中的request是什么Jun 01, 2023 am 10:12 AM

PHP中的request是指请求,它是PHP中的一个超全局变量,用于收集HTML表单提交的数据,以及URL中的参数, 可以同时获取GET和POST请求的数据, 注意$_request是一个关联数组,其中的键是表单字段的名称,值是表单字段的值。在使用$_request变量时,应始终对用户输入的数据进行验证和过滤,以避免安全问题。

See all articles

핫 AI 도구

Undresser.AI Undress

Undresser.AI Undress

사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover

AI Clothes Remover

사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool

Undress AI Tool

무료로 이미지를 벗다

Clothoff.io

Clothoff.io

AI 옷 제거제

AI Hentai Generator

AI Hentai Generator

AI Hentai를 무료로 생성하십시오.

인기 기사

R.E.P.O. 에너지 결정과 그들이하는 일 (노란색 크리스탈)
3 몇 주 전By尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. 최고의 그래픽 설정
3 몇 주 전By尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. 아무도들을 수없는 경우 오디오를 수정하는 방법
3 몇 주 전By尊渡假赌尊渡假赌尊渡假赌
WWE 2K25 : Myrise에서 모든 것을 잠금 해제하는 방법
3 몇 주 전By尊渡假赌尊渡假赌尊渡假赌

뜨거운 도구

SublimeText3 영어 버전

SublimeText3 영어 버전

권장 사항: Win 버전, 코드 프롬프트 지원!

SublimeText3 중국어 버전

SublimeText3 중국어 버전

중국어 버전, 사용하기 매우 쉽습니다.

WebStorm Mac 버전

WebStorm Mac 버전

유용한 JavaScript 개발 도구

SublimeText3 Mac 버전

SublimeText3 Mac 버전

신 수준의 코드 편집 소프트웨어(SublimeText3)

SublimeText3 Linux 새 버전

SublimeText3 Linux 새 버전

SublimeText3 Linux 최신 버전