• VB调用VB脚本VBS向Http请求的三种方式


     VB代码

    第一步,创建脚本对象,读出 VBStest.txt 文件

    Private myScript As Object
    
    Private Sub Form_Load()
        Call m_Initialize
    End Sub
    
    Public Sub m_Initialize()
    Dim strScriptFile As String
    Dim strScript As String
    Dim intFile As Integer
    intFile = FreeFile
    
    strScriptFile = App.Path & "ScriptVBStest.txt"
    
    If Dir(App.Path & "ScriptVBStest.txt") <> "" Then
    
        Open strScriptFile For Binary As #intFile
        strScript = Input(LOF(intFile), intFile)
        Close intFile
    
       Set myScript = CreateObject("ScriptControl")
       myScript.Language = "VBScript"
       'myScript.timeout = 1000
       myScript.AddCode strScript
    
    End If
        
    End Sub

    第二步  脚本调用的方法

    Public Function m_FCustom1(ByVal str调用名称 As String, ByVal str服务器参数 As String, ByRef str返回值 As String) As Boolean
    On Error GoTo ErrTrap
    Dim strA As String
     
        str返回值 = myScript.Run(str调用名称, str服务器参数)
        'm_FCustom1 = True
    
    Exit Function
    ErrTrap:
        MsgBox ("出错!" & CStr(Err) & " " & Error(Err))
            
    On Error GoTo 0
    End Function

    第一种 Post方式

    Private Sub Command3_Click()
    Dim strA As String
        Call m_FCustom1("m_Post", "m_Post 11111111", strA)
        MsgBox ("返回值!" & strA)
     
    End Sub

    第二种  Get 方式

    Private Sub Command4_Click()
        Dim strA As String
        Call m_FCustom1("m_Get", "m_Get  222222222", strA)
        MsgBox ("返回值!" & strA)
    End Sub

    第三种  Json 方式

    Private Sub Command1_Click()
    Dim strA As String
        Call m_FCustom1("m_PostTest", "m_Post  接口调试", strA)
        MsgBox ("返回值!" & strA)
    End Sub
    VB脚本代码 VBStest.txt
    Function m_Get(strTelNumber)
    Dim strA 
    Dim http
    Dim strUrl
    
        strUrl="http://localhost/callcenter2/VBStest.php?AAAA=1111"
        
         Set http = CreateObject("Msxml2.ServerXMLHTTP")
        'strA = http.open("GET", "http://www.baidu.com", False)
            strA = http.open("GET", strUrl, False)
        http.send
    
        MsgBox http.Status
        MsgBox http.responsetext
    
    
        m_Get = http.responsetext
    
        
    End Function
    
    Function m_Post(strTelNumber)
    Dim strA 
    Dim http
    Dim strUrl
    
        strUrl="http://localhost/callcenter2/VBStest.php"
        
         set Http=createobject("MSXML2.XMLHTTP")
        'strA = http.open("POST", "http://www.baidu.com", False)     
        strA = http.open("POST", strUrl, False)     
        http.setRequestHeader "CONTENT-TYPE","application/x-www-form-urlencoded"
        http.Send "Text1=1AA&Text2=2BBBBB"
        
        MsgBox http.Status
        MsgBox http.responsetext
    
    
        m_Post = http.responsetext
        
    End Function
    
    'Jost方式
    Function m_PostTest(strTelNumber)
    Dim strA 
    Dim http
    Dim strUrl
    
        strUrl="http://211.140.196.159:9979/hlbr/api/callcenter/advisory"
        
         set Http=createobject("MSXML2.XMLHTTP")
        'strA = http.open("POST", "http://www.baidu.com", False)     
        strA = http.open("POST", strUrl, False)     
        http.setRequestHeader "CONTENT-TYPE","application/json"
        http.Send "{'id':'1'}"
        
        MsgBox http.Status
        MsgBox http.responsetext
    m_Post
    = http.responsetext End Function
  • 相关阅读:
    开发中的报错问题
    vue2.0入门
    nodejs的一些基操
    git
    es6模块化规范
    js面向对象的笼统介绍
    this指向问题(改变它的指向)
    js面向对象杂谈
    原生js贪吃蛇
    bootstrap基础自我总结
  • 原文地址:https://www.cnblogs.com/hailexuexi/p/13606701.html
Copyright © 2020-2023  润新知