I just wrote a thief program, and suddenly I found that the content could not be captured when POSTing in Chinese. Considering the Chinese encoding problem, like escape() in javascript, this function can also be used in vbscript. You only need to send it to capture normally. Get the content send(A=&escape(A)&&escape(B))
Call it a day!
Attached are several functions commonly used by thieves
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
usage:
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, the card number’s location</TD>((.|/n)*?)</TD>), the card number’s location</TD>,),<TD width=* align=center class=tdc2>,),</TD>,,)
Response.Write(getArea)