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(怎么是数字值呢)
就转到错误页面