Skip to content

cHttpClient 方法参考

🌐 HTTP 请求方法

SendGet

发送 GET 请求。

vb
Public Function SendGet(ByVal url As String, Optional Body As String) As cHttpClient

参数:

  • url - 请求地址
  • Body - 可选,请求体内容

返回: 返回自身实例,支持链式调用

示例:

vb
Dim http As New cHttpClient

' 简单 GET
http.SendGet("https://api.example.com/users")

' 带查询参数的 GET
http.RequestDataQuery("page") = "1"
http.RequestDataQuery("limit") = "10"
http.SendGet("https://api.example.com/users")

SendPost

发送 POST 请求。

vb
Public Function SendPost(ByVal url As String, Optional Body As String) As cHttpClient

示例:

vb
' POST JSON 数据
Dim json As New cJson
json.AddItem "name", "张三"
Set http.RequestDataJson = json
http.SendPost("https://api.example.com/users")

' POST Form 数据
http.RequestDataForm("username") = "admin"
http.RequestDataForm("password") = "123456"
http.SendPost("https://api.example.com/login")

SendPut

发送 PUT 请求。

vb
Public Function SendPut(ByVal url As String, Optional Body As String) As cHttpClient

SendDelete

发送 DELETE 请求。

vb
Public Function SendDelete(ByVal url As String, Optional Body As String) As cHttpClient

SendOptions

发送 OPTIONS 请求。

vb
Public Function SendOptions(ByVal url As String, Optional Body As String) As cHttpClient

Send

通用发送方法,可指定 HTTP 方法。

vb
Public Function Send(Method As EnumRequestMethod, ByVal url As String, Optional Body As String) As cHttpClient

参数:

  • Method - 请求方法枚举值:
    • ReqGet - GET 请求
    • ReqPost - POST 请求
    • ReqPut - PUT 请求
    • ReqDelete - DELETE 请求
    • ReqOptions - OPTIONS 请求

Fetch

底层请求方法,Send 系列方法均调用此方法。

vb
Public Function Fetch(Method As EnumRequestMethod, ByVal url As String, Optional Body As String) As cHttpClient

🔗 链式调用方法

Async

设置请求模式为同步或异步。

vb
Public Function Async(Bool As Boolean) As cHttpClient

示例:

vb
' 异步请求
http.Async(True).SendGet("https://api.example.com/data")

' 同步请求(默认)
http.Async(False).SendGet("https://api.example.com/data")

SetCookies

设置请求 Cookies。

vb
Public Function SetCookies(ByVal Value As String) As cHttpClient

示例:

vb
http.SetCookies("session_id=abc123; user=admin")

SetRequestContentType

设置请求内容类型。

vb
Public Function SetRequestContentType(ReqType As EnumRequestContentType, Optional ContentType As String) As String

参数:

  • ReqType - 内容类型枚举:
    • ReqContentTypeNone - 无
    • ReqContentTypeJson - application/json
    • ReqContentTypeFormUrlencoded - application/x-www-form-urlencoded
    • ReqContentTypeFormMultipart - multipart/form-data
    • ReqContentTypeTextPlain - text/plain
    • ReqContentTypeTextHtml - text/html

示例:

vb
http.SetRequestContentType(ReqContentTypeJson)

MapRequestContentType

内容类型映射方法,与 SetRequestContentType 相同。


📤 响应获取方法

ReturnText

获取响应文本内容。

vb
Public Function ReturnText(Optional IsUtf8 As Boolean = True, Optional IsConvert As Boolean) As String

参数:

  • IsUtf8 - 是否按 UTF-8 解码(默认 True)
  • IsConvert - 是否使用 StrConv 转换(用于解决乱码)

示例:

vb
Dim text As String
text = http.SendGet("https://api.example.com").ReturnText()

' 处理可能的乱码
text = http.ReturnText(False, True)

ReturnJson

获取响应并解析为 JSON 对象。

vb
Public Function ReturnJson(Optional IsUtf8 As Boolean = True, Optional IsConvert As Boolean) As cJson

示例:

vb
Dim json As cJson
Set json = http.SendGet("https://api.example.com/users").ReturnJson()

If json.HasKey("data") Then
    Debug.Print json.GetItem("data")
End If

ReturnBody

获取原始响应字节数组。

vb
Public Function ReturnBody() As Byte()

示例:

vb
Dim body() As Byte
body = http.SendGet("https://api.example.com/file").ReturnBody()

ReturnStream

获取响应流对象。

vb
Public Function ReturnStream() As Variant

🛠️ 工具方法

ShowPage

使用默认浏览器打开 URL。

vb
Public Sub ShowPage(url As String)

示例:

vb
http.ShowPage("https://www.example.com")

📊 调试信息

DebugInfo

获取调试信息 JSON 对象(需先设置 DebugStart = True)。

vb
Public DebugInfo As cJson

示例:

vb
http.DebugStart = True
http.SendGet("https://api.example.com")

' 查看调试信息
If Not http.DebugInfo.RootIsEmpty Then
    ' Root 是默认成员,可直接用 Json("key") 访问
    Debug.Print http.DebugInfo("Request")("Url")
    Debug.Print http.DebugInfo("Response")("Status")
    Debug.Print http.DebugInfo("Error")("Description")
End If

🎯 事件

OnResponseFinished

异步请求响应完成时触发。

vb
Public Event OnResponseFinished()

示例:

vb
Private WithEvents HttpClient As cHttpClient

Private Sub Form_Load()
    Set HttpClient = New cHttpClient
End Sub

Private Sub HttpClient_OnResponseFinished()
    Debug.Print "请求完成: " & HttpClient.ReturnText()
End Sub

最后更新: 2026-05-17

VB6及其LOGO版权为微软公司所有