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

2016-02-19 12:07 8 1 收藏

今天图老师小编要跟大家分享XMLHTTP利用POST发送表单时提交中文的问题,精心挑选的过程简单易学,喜欢的朋友一起来学习吧!

【 tulaoshi.com - Web开发 】

刚才写一个小偷程序,突然发现一旦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)

来源:http://www.tulaoshi.com/n/20160219/1599889.html

延伸阅读
标签: Java JAVA基础
来源:LoveJSP.site 在Web程序设计中,处理表单提交的数据是获取Web数据的主要方法,今天,我们来看一看Servlet中是怎样处理来自表单的数据的。 表单数据的提交方法有两种Post方法和Get方法,当使用Post方法时,数据由标准的输入设备读入,当使用Get方法时,数据由CGI变量QUERY_STRING传递给表单数据处理程序。 Servlet会自动将以上两种方法...
以前在FreeBSD的ports中出现过一个东东叫gbfs,提供了msdos和cdfs的gb支持。我很喜欢用它,在FreeBSD 5.x中为ntfs、smbfs以及msdosfs和cd9660都提供了-C、-L等参数。使用这些参数可以指定fs的字符集。这次装的是4.9,本想接着装gbfs,却发现4.9中也开始提供mount时字符集指定的参数了。 MORE... 首先来看看mount_msdos: -L locale ...
标签: Web开发
使用asp尽量减少服务器端的工作量,这样就应该多使用javascript,把所有提交字段使用javascript或vbscript检测后提交给服务器,这样服务器就不必再作检测,而在提交时可能会有人修改script从本地提交,这样存在安全提交的问题,所以应该要求从服务器断路径提交,其他地址提交提交无无效: 代码如下: % server_v1=Cstr(Request.ServerVariabl...
标签: PHP
转自:http://www1.blog.163.com/article/-Bov--vjmSMl.html 你是否遇到过重复提交的问题?要解决这个问题其实并不难。这里有一个简单的方法避免同一表单的重复提交。 首先,我们可以定义一个session变量用来保存一个表单的提交序列号。这里我定义为$userLastAction。然后在表单里加入一个hidden变量,把值设为$userLastAction...

经验教程

149

收藏

15
微博分享 QQ分享 QQ空间 手机页面 收藏网站 回到头部