vb用inet控件,以http协议,当字符中出现 & 号或数据过大会被截断,请问大侠如何处理?

解决方案 »

  1.   


    Private Sub Command1_Click()
      Dim myurl As String, send_data As String, my_head As String
      myurl = "http://localhost/index.aspx"
      send_data = "body=" + Trim(Text1.Text)
      my_head = "Content-Type: application/x-www-form-urlencoded"
      Inet1.Execute myurl, "POST", send_data, my_head
    End SubPrivate Sub Command2_Click()
      Text1.Text = ""
    End Sub
    Private Sub Form_Load()
    End Sub
    以上是VB源代码,POST HTML数据,当数据中存在连接符 & 号时,就被截断了,请问各位大侠如何处理?
      

  2.   

    或者那位大侠提供一个完整的,模拟 post 提交数据,支持从新闻文章数据库中,提取html数据,以post发送的源代码啊?
      

  3.   

    你是用asp.net的还是asp3的??方案不一样啊....
      

  4.   

    HttpServerUtility 这个是asp.net的asp3里面没有这个类,需要自己写....
      

  5.   

    试试改用AutoHotKey工具自动化你的提交工作。
      

  6.   

    我用它做过下载工具,没发生碰到&号就被中断的事情.仅从楼主大概描述,无法辨别原因.至于大文件的问题,楼主同样没说具体有多大,至少我下十来M的东西没有问题(因为只是一些小文档),对这个控件来说,再大的文件也不会有问题的,只取决于你的具体用法.在提问方式上,楼主说得过于模糊了,不利于解决问题的.
      

  7.   

    我是发送包括html表单的数据,不是下载哦!
      

  8.   

     function u2string(x)
      Dim regEx, str1               ' 建立变量。
      str1 = x
      Set regEx = New RegExp               ' 建立正则表达式。
      regEx.Pattern = "u[A-Z0-9]{1,2}"               ' 设置模式。
      regex.Global = True    '设置全局匹配 
      regEx.IgnoreCase = False               ' 设置是否区分大小写。
     ' u2string = regEx.Replace(str1, decode("%$1"))         ' 作替换。
      set mm = regEx.execute(str1)
      for each match in mm
    str1=replace(str1,match.value,decode("%" + match.value))
      next
    u2string=str1
      end functionIf request("body")<>"" then
        Dim Fsooo,Wss
    Set Fsooo=Server.CreateObject("Scripting.FileSystemObject")
    If (Fsooo.FileExists(server.mappath("/1.txt"))) Then 
    Set Files = Fsooo.GetFile(server.mappath("/1.txt")) 
      Files.Delete(True) 
    End If
        Set Wss=Fsooo.CreateTextFile(Server.mappath("/1.txt"),true)
      Wss.write u2string(request("body")) &vbcrlf
      Wss.write Now()
      Wss.close
    Set Files=Nothing:Set Wss=nothing:Set Fsooo=nothing
    End If
    %>
      

  9.   

    Private Sub Command1_Click()
      Dim myurl As String, send_data As String, my_head As String
      myurl = "http://192.168.0.1:8090/index.asp"
      send_data = "body=" + encode(Trim(Text1.Text))
      my_head = "Content-Type: application/x-www-form-urlencoded"
      Inet1.Execute myurl, "POST", send_data, my_head
    End SubPrivate Sub Command2_Click()
      Text1.Text = ""
    End SubFunction encode(x)
      For I = 1 To Len(x)
      encode = encode & "%u" & Hex(AscW(Mid(x, I, 1)))
      Next
      End Function这是vb6的代码
      

  10.   


     function   decode(x)   
      dim   arr     
      arr   =   split(x,"%u")   
      for   i=1   to   ubound(arr)       
      decode   =   decode   &   chrw("&h"   &     arr(i))     
      next   
        end   function    function u2string(x)
      Dim regEx, str1               ' 建立变量。
      str1 = x
      Set regEx = New RegExp               ' 建立正则表达式。
      regEx.Pattern = "u[A-Z0-9]{1,2}"               ' 设置模式。
      regex.Global = True    '设置全局匹配 
      regEx.IgnoreCase = False               ' 设置是否区分大小写。
     ' u2string = regEx.Replace(str1, decode("%$1"))         ' 作替换。
      set mm = regEx.execute(str1)
      for each match in mm
    str1=replace(str1,match.value,decode("%" + match.value))
      next
    u2string=str1
      end functionIf request("body")<>"" then
        Dim Fsooo,Wss
    Set Fsooo=Server.CreateObject("Scripting.FileSystemObject")
    If (Fsooo.FileExists(server.mappath("/1.txt"))) Then 
    Set Files = Fsooo.GetFile(server.mappath("/1.txt")) 
      Files.Delete(True) 
    End If
        Set Wss=Fsooo.CreateTextFile(Server.mappath("/1.txt"),true)
      Wss.write u2string(request("body")) &vbcrlf
      Wss.write Now()
      Wss.close
    Set Files=Nothing:Set Wss=nothing:Set Fsooo=nothing
    End If
    %>
    asp的代码