XMLHTTP利用POST发送表单时提交中文的问题

2018-09-06 11:38

阅读:337

  刚才写一个小偷程序,突然发现一旦POST中文时抓取不到内容,考虑到中文编码问题,像javascript中的escape()一样,在vbscript中也可以使用这个函数,只需要这个发送就可以正常抓取到内容了send(A=&escape(A)&&escape(B))

完成收工!

附几个小偷常用的function函数
FunctionByteToStr(vIn)
DimstrReturn,i,ThisCharCode,innerCode,Hight8,Low8,NextCharCode
strReturn=
Fori=1ToLenB(vIn)
ThisCharCode=AscB(MidB(vIn,i,1))
IfThisCharCode<&H80Then
strReturn=strReturn&Chr(ThisCharCode)
Else
NextCharCode=AscB(MidB(vIn,i+1,1))
strReturn=strReturn&Chr(CLng(ThisCharCode)*&H100+CInt(NextCharCode))
i=i+1
EndIf
Next
ByteToStr=strReturn
EndFunction

FunctionGetURL(url,PostStr)
SetRetrieval=Server.CreateObject(Microsoft.XMLHTTP)
WithRetrieval
.OpenPOST,url,false,,
.setRequestHeaderContent-Type,application/x-
.Send(PostStr)
GetURL=.ResponseBody
EndWith
SetRetrieval=Nothing
GetURL=ByteToStr(GetURL)
EndFunction

FunctionRegExpText(strng,regStr)
DimregEx,Match,Matches,RetStr
SetregEx=NewRegExp
regEx.Pattern=regStr
regEx.IgnoreCase=True
regEx.Global=True
SetMatches=regEx.Execute(strng)
ForEachMatchinMatches
RetStr=RetStr&Match.Value&,
Next
RegExpText=RetStr
setregEx=nothing
EndFunction


用法:
DimPostStr,getContent,getArea
PostStr=action=mobile&mobile=&MobileNumber
getContent=GetURL(
getArea=Replace(Replace(Replace(RegExpText(getContent,卡号归属地</TD>((.\n)*?)</TD>),卡号归属地</TD>,),<TDwidth=*align=centerclass=tdc2>,),</TD>,,)
Response.Write(getArea)


评论


亲,登录后才可以留言!