程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 網頁編程 >> ASP編程 >> 關於ASP編程 >> XMLHTTP利用POST發送表單時提交中文的問題

XMLHTTP利用POST發送表單時提交中文的問題

編輯:關於ASP編程
剛才寫一個小偷程序,突然發現一旦POST中文時抓取不到內容,考慮到中文編碼問題,像javascript中的escape()一樣,在vbscript中也可以使用這個函數,只需要這個發送就可以正常抓取到內容了send("A="&escape(A)&""&escape(B))

完成收工!

附幾個小偷常用的function函數
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,"卡號歸屬地</TD>((.|\n)*?)</TD>"),"卡號歸屬地</TD>",""),"<TD width=* align=""center"" class=tdc2>",""),"</TD>,","")
Response.Write(getArea)
  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved