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 cHttpClientSendDelete
发送 DELETE 请求。
vb
Public Function SendDelete(ByVal url As String, Optional Body As String) As cHttpClientSendOptions
发送 OPTIONS 请求。
vb
Public Function SendOptions(ByVal url As String, Optional Body As String) As cHttpClientSend
通用发送方法,可指定 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/jsonReqContentTypeFormUrlencoded-application/x-www-form-urlencodedReqContentTypeFormMultipart-multipart/form-dataReqContentTypeTextPlain-text/plainReqContentTypeTextHtml-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 IfReturnBody
获取原始响应字节数组。
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