怎么用asp+取得post的頁面的數據
發表時間:2023-08-08 來源:明輝站整理相關軟件相關文章人氣:
[摘要]http://www.asp888.net 豆腐技術站 如何用asp+獲取post的頁面的數據我們前面講過如何跨站去抓取別的服務器頁面上的數據[/title],但是那種方法只適合那些沒有限制訪問只能...
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 的程序成功了!