当前位置: 首页 > 图文教程 > 网络编程 > ASP.NET > 如何用asp+获取post的页面的数据

ASP.NET
asp.net下将图片保存到XML文件的方法
asp.net 通过aspnetpager为DataList分页
Asp.Net 动态页面转静态页面主要代码
asp.net下检测远程URL是否存在的三种方法
asp.net(C#)把汉字转化成全拼音函数(全拼)
asp.net下xml当作导航数据源实现动态权限
asp.net Cookie操作类
先装VS再装IIS时出错的解决方法
asp.net 选择excel类型文件,利用Dos命令成批复制文件
Asp.net XML文档进行添加删改操作的实例代码
ASP.NET 页面间数据传递方法小结
asp.net 文件上传与刷新与asp.net页面与iframe之间的数据传输
asp.net Urlrewriter在虚拟主机上的使用方法
Repeater的FooterTemplate中控件内容设置方法
asp.net(c#)做一个网页数据采集工具
ASP.NET调用javascript脚本的常见方法小结
asp.net AutoCompleteExtender的一个简单例子代码
asp.net 光棒效应实现代码
asp.net 数据访问层 存储过程分页语句
Asp.Net Oracle数据的通用操作类

ASP.NET 中的 如何用asp+获取post的页面的数据


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-11-03   浏览: 35 ::
收藏到网摘: n/a

http://www.asp888.net 豆腐技术站

如何用asp+获取post的页面的数据
我们前面讲过如何跨站去抓取别的服务器页面上的数据[/title],但是那种方法只适合那些没有限制访问只能是
Post 的数据,比如我们下面的这个程序就是,我们举个最简单的例子:
test.htm
<form action="test.asp" method="post">
<input type=submit value="提交">
<input type=text name="txtName" value="豆腐制作,都是精品">
</form>
test.asp
<%
str1=request.FORM("txtName")
response.write str1
%>
这样,当我们以Get 的方法访问http://localhost/test.asp?txtName=doufu 的时候,我们得到的是空值
所以有的时候,我们必须模拟Post 的方法,我们知道在asp中aspHttp组件是可以实现这个功能的,我们现
在已经到了asp+的时代,所以,豆腐 我决定采用asp+来尝试一下,幸运的是,我成功了
下面我就把我的程序帖出来给大家看看
<%@ Assembly Name="System.Net" %>
<%@ Import Namespace="System.Net" %>
<%@ Import Namespace="System.IO" %>
<script language=vb runat=server>
Sub getPage(url As String, payload as String)

Dim req As WebRequest
Dim RequestStream As Stream
req = WebRequestFactory.Create(url)
req.Method = "POST"
req.ContentType = "application/x-www-form-urlencoded"
Dim SomeBytes() as Byte
if payload <> Nothing

SomeBytes = System.Text.Encoding.default.GetBytes(payload)
req.ContentLength = SomeBytes.Length

RequestStream = req.GetRequestStream()
RequestStream.Write(SomeBytes, 0, SomeBytes.Length)
RequestStream.Close()
Else
req.ContentLength = 0
End if

Dim result As WebResponse
Dim ReceiveStream As Stream
result = req.GetResponse()
ReceiveStream = result.GetResponseStream()
Dim read(512) As Byte
Dim bytes As Integer
bytes = ReceiveStream.Read(read, 0, 512)
Do while (bytes > 0)
Response.Write(System.Text.Encoding.default.GetString(read, 0, bytes))
bytes = ReceiveStream.Read(read, 0, 512)
Loop
End Sub

</script>
<%
getPage("http://gpsserver/study/test1.asp","txtName=豆腐制作,都是精品")
%>
我们看到,程序的输出就是我们的这个txtName的值,这就证明 我们的 模拟Post 的程序成功了!