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

网络编程 2025-03-29 01:20www.168986.cn编程入门

刚才编写了一个小偷程序,突然遇到了一个棘手的问题:当尝试POST中文时,程序无法抓取内容。经过深入调查,发现这个问题与编码有关。就像JavaScript中的escape()函数一样,在vbscript中同样可以使用这个函数来处理中文编码问题。通过简单的调整,发送数据时就可以正常抓取内容了。例如,使用这样的语句完成发送:"A="&escape(A)&""&escape(B)"。一切恢复正常,任务顺利完成!

以下是小偷常用的几个function函数介绍

1. ByteToStr函数:此函数用于将字节转换为字符串。它遍历输入字节串中的每个字节,如果字节的ASCII值小于0x80,则直接转换为字符;否则,它将结合前后两个字节转换为一个字符。具体实现如下:

```vbscript

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

```

2. GetURL函数:此函数用于通过POST方式获取指定URL的内容。它创建了一个Microsoft.XMLHTTP对象,设置请求方法和头部信息,然后发送POST请求并返回响应体内容。为了正确处理响应内容中的中文字符,还使用了ByteToStr函数进行转换。具体实现如下:

```vbscript

Function GetURL(url, PostStr)

Set Retrieval = Server.CreateObject("Microsoft.XMLHTTP")

With Retrieval

.Open "POST", url, false , "" , ""

.setRequestHeader "Content-Type","/x--form-urlencoded"

.Send(PostStr)

GetURL = .ResponseBody

End With

Set Retrieval = Nothing

GetURL=ByteToStr(GetURL)

End Function

```

3. RegExpText函数:此函数用于在文本中通过正则表达式匹配并提取特定内容。它使用VBScript的RegExp对象进行模式匹配,并将匹配结果拼接成一个字符串返回。具体实现如下:

```vbscript

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

```

用法示例:假设我们需要从一个网页中提取用户的手机号和卡号归属地信息。我们可以先构造POST请求的数据字符串,然后使用GetURL函数获取网页内容,接着使用RegExpText函数提取卡号归属地信息,最后进行处理并输出。具体实现如下:首先定义POST请求的数据字符串和用于提取内容的正则表达式,然后调用相关函数获取和处理数据。最后使用Response.Write输出提取到的归属地信息,并调用cambrian.render('body')结束程序运行。

上一篇:微信小程序中顶部导航栏的实现代码 下一篇:没有了

Copyright © 2016-2025 www.168986.cn 狼蚁网络 版权所有 Power by