httprequest

来源:互联网 发布:linux用户权限777回退 编辑:程序博客网 时间:2024/04/27 23:24

SELECT * FROM dingying_customer_dbo.customer where CustomerID='首脑';
用System.Web.HttpRequest模拟一个form的post
比如果我的form是这样的  
  <form   method=post   action="http://www.domain.com/abc.aspx">  
      <input   type=text   name="username">  
      <input   type=password   name="pwd">  
  </form>  
   
我想用code来模拟这个post
http://www.west-wind.com/presentations/dotnetWebRequest/dotnetWebRequest.htm
可以看这个页面

  using   System.IO;  
  using   System.Net;  
   
  String   url   =   "http://www.domain.com/abc.aspx";  
  HttpWebRequest   req   =   (HttpWebRequest)WebRequest.Create(url);  
   
  //if   your   username   and   pwd   contains   special   chars,   you   need   to   call   HttpUtility.UrlEncode   to   encode   the   values  
  string   s   =   "username=abc&pwd=def";  
  byte[]   requestBytes   =   System.Text.Encoding.ASCII.GetBytes   (s);  
  req.Method   =   "POST";  
  req.ContentType   =   "application/x-www-form-urlencoded";  
  req.ContentLength   =   requestBytes.Length;  
  Stream   requestStream   =   req.GetRequestStream();  
  requestStream.Write(requestBytes,0,requestBytes.Length);  
  requestStream.Close();  
   
  HttpWebResponse   res   =   (HttpWebResponse)req.GetResponse();  
  StreamReader   sr   =   new   StreamReader(res.GetResponseStream(),   System.Text.Encoding.Default);  
  String   line   =   streamReader.ReadToEnd();  
  streamReader.Close();  
  res.Close();  

Request对象功能是从客户端得到数据,常用的三种取得数据的方法是:Request.Form,Request.QueryString,Request,其第三种是前两种的一个缩写,可以取代前两种情况。而前两种主要对应的Form提交时的两种不同的提交方法:分别是Post方法和Get方法。

Request 对象的属性和方法比较多,常用的几个为:UserAgent 传回客户端浏览器的版本信息。UserHostAddress 传回远方客户端机器的主机IP 地址。UserHostName 传回远方客户端机器的DNS 名称。PhysicalApplicationPath 传回目前请求网页在Server 端的真实路径。

从浏览器获取数据

利用Request方法,可以读取其他页面提交过来的数据。提交的数据有两种形式:一种是通过Form表单提交过来,另一种是通过超级链接后面的参数提交过来,两种方式都可以利用Request对象读取

%@Page Language="C#"%

<% string strUserName = Request["Name"]; string strUserLove = Request["Love"]; %> 姓名:<%=strUserName%> 爱好:<%=strUserLove%>

 <FORM ACTION="" METHOD="POST">

<P>姓名:<INPUT TYPE="TEXT" SIZE="20" NAME="Name"></P>

<P>兴趣:<INPUT TYPE="TEXT" SIZE="20" NAME="Love"></P>

<P><INPUT TYPE="SUBMIT" VALUE="提 交"></P> </FORM>

得到客户端的信息

利用Request对象内置的属性,可以得到一些客户端的信息,比如客户端浏览器版本和客户端地址等等

%@Page Language="C#"%
客户端浏览器:<%=Request.UserAgent %>
客户端IP地址:<%=Request.UserHostAddress %>
当前文件服务端物理路径:<%=Request.PhysicalApplicationPath %> 

 

Request.ServerVariables("HTTP_REFERER")
用来获取(从哪个页面转到当前页面的) & 路径
常用来转到某一网址
response.redirect Request.ServerVariables("HTTP_REFERER")
用来判断是不是从某个网址链接过来的也一错,可以防址盗链
下面判断是不是从主面进来,
[Ctrl+A 全部选择 提示:你可先修改部分代码,再按运行]

[Edit on 2004-1-6 13:18:26 By hubro]


再来一个简单的防盗程序
[Ctrl+A 全部选择 提示:你可先修改部分代码,再按运行]
InStr 函数 返回某字符串在另一字符串中第一次出现的位置。
上面的也就是说,如果没有主机这个名字值小于1(怎么是数字值呢)
就转到错误页面

原创粉丝点击