XMLHTTP利用POST發(fā)送表單時(shí)提交中文的問題
更新時(shí)間:2006年06月26日 00:00:00 作者:
剛才寫一個(gè)小偷程序,突然發(fā)現(xiàn)一旦POST中文時(shí)抓取不到內(nèi)容,考慮到中文編碼問題,像javascript中的escape()一樣,在vbscript中也可以使用這個(gè)函數(shù),只需要這個(gè)發(fā)送就可以正常抓取到內(nèi)容了send("A="&escape(A)&""&escape(B))
完成收工!
附幾個(gè)小偷常用的function函數(shù)
Function ByteToStr(vIn)
Dim strReturn,i,ThisCharCode,innerCode,Hight8,Low8,NextCharCode
strReturn = ""
For i = 1 To LenB(vIn)
ThisCharCode = AscB(MidB(vIn,i,1))
If ThisCharCode < &H80 Then
strReturn = strReturn & Chr(ThisCharCode)
Else
NextCharCode = AscB(MidB(vIn,i+1,1))
strReturn = strReturn & Chr(CLng(ThisCharCode) * &H100 + CInt(NextCharCode))
i = i + 1
End If
Next
ByteToStr = strReturn
End Function
Function GetURL(url,PostStr)
Set Retrieval = Server.CreateObject("Microsoft.XMLHTTP")
With Retrieval
.Open "POST", url, false ,"" ,""
.setRequestHeader "Content-Type","application/x-www-form-urlencoded"
.Send(PostStr)
GetURL = .ResponseBody
End With
Set Retrieval = Nothing
GetURL=ByteToStr(GetURL)
End Function
Function RegExpText(strng,regStr)
Dim regEx,Match,Matches,RetStr
Set regEx = New RegExp
regEx.Pattern = regStr
regEx.IgnoreCase = True
regEx.Global = True
Set Matches = regEx.Execute(strng)
For Each Match in Matches
RetStr = RetStr & Match.Value & ","
Next
RegExpText = RetStr
set regEx=nothing
End Function
用法:
Dim PostStr,getContent,getArea
PostStr = "action=mobile&mobile="&MobileNumber
getContent = GetURL("http://www.ip138.com:8080/search.asp",PostStr)
getArea = Replace(Replace(Replace(RegExpText(getContent,"卡號(hào)歸屬地</TD>((.|\n)*?)</TD>"),"卡號(hào)歸屬地</TD>",""),"<TD width=* align=""center"" class=tdc2>",""),"</TD>,","")
Response.Write(getArea)
完成收工!
附幾個(gè)小偷常用的function函數(shù)
Function ByteToStr(vIn)
Dim strReturn,i,ThisCharCode,innerCode,Hight8,Low8,NextCharCode
strReturn = ""
For i = 1 To LenB(vIn)
ThisCharCode = AscB(MidB(vIn,i,1))
If ThisCharCode < &H80 Then
strReturn = strReturn & Chr(ThisCharCode)
Else
NextCharCode = AscB(MidB(vIn,i+1,1))
strReturn = strReturn & Chr(CLng(ThisCharCode) * &H100 + CInt(NextCharCode))
i = i + 1
End If
Next
ByteToStr = strReturn
End Function
Function GetURL(url,PostStr)
Set Retrieval = Server.CreateObject("Microsoft.XMLHTTP")
With Retrieval
.Open "POST", url, false ,"" ,""
.setRequestHeader "Content-Type","application/x-www-form-urlencoded"
.Send(PostStr)
GetURL = .ResponseBody
End With
Set Retrieval = Nothing
GetURL=ByteToStr(GetURL)
End Function
Function RegExpText(strng,regStr)
Dim regEx,Match,Matches,RetStr
Set regEx = New RegExp
regEx.Pattern = regStr
regEx.IgnoreCase = True
regEx.Global = True
Set Matches = regEx.Execute(strng)
For Each Match in Matches
RetStr = RetStr & Match.Value & ","
Next
RegExpText = RetStr
set regEx=nothing
End Function
用法:
Dim PostStr,getContent,getArea
PostStr = "action=mobile&mobile="&MobileNumber
getContent = GetURL("http://www.ip138.com:8080/search.asp",PostStr)
getArea = Replace(Replace(Replace(RegExpText(getContent,"卡號(hào)歸屬地</TD>((.|\n)*?)</TD>"),"卡號(hào)歸屬地</TD>",""),"<TD width=* align=""center"" class=tdc2>",""),"</TD>,","")
Response.Write(getArea)
相關(guān)文章
ASP利用XMLHTTP實(shí)現(xiàn)表單提交以及cookies的發(fā)送的代碼
利用XMLHTTP來制作小偷的具體細(xì)節(jié)落伍很多人都發(fā)過和討論過了,但是在制作ASP小偷的過程中,很多人就發(fā)現(xiàn)ASP小偷不如PHP小偷的那么強(qiáng)大了。2008-08-08網(wǎng)站生成靜態(tài)頁面攻略2:數(shù)據(jù)采集
網(wǎng)站生成靜態(tài)頁面攻略2:數(shù)據(jù)采集...2006-08-08msxml3.dll 錯(cuò)誤 800c0005 解決方案
在運(yùn)用xmlhttp組件編寫程序中,會(huì)碰到msxml3.dll 錯(cuò)誤 800c0005系統(tǒng)未找到指定的資源。這種錯(cuò)誤,網(wǎng)上對(duì)這種錯(cuò)誤的產(chǎn)生原因有很多鐘解釋,大體說是因?yàn)榉阑饓騏DP站口權(quán)限造成了,也說了相應(yīng)的解決辦法2006-08-08Asp WinHttp.WinHttpRequest.5.1 對(duì)象使用詳解 偽造 HTTP 頭信息
使用 WinHttpRequest 偽造 HTTP 頭信息,偽造 Referer 等信息2012-01-01asp實(shí)現(xiàn)的7xi音樂網(wǎng)的采集源代碼
asp實(shí)現(xiàn)的7xi音樂網(wǎng)的采集源代碼...2007-03-03