You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Asp.net 4.61(VB.net)中RestSharp调用API无响应问题求助

问题排查与修复方案

针对你的场景——Postman可正常请求但代码无响应、API无请求记录,说明请求并未抵达服务器,重点排查以下几点:

1. 修复URL格式错误

你的URL缺少查询参数的起始符?,服务器无法识别userid和password参数,导致请求路由错误甚至被拦截:

' 原错误URL
Dim restClient As RestClient = New RestClient("http://myurl.com/ws/rest/userid=myid&password=password")
' 修正后:添加?分隔路径与查询参数
Dim restClient As RestClient = New RestClient("http://myurl.com/ws/rest?userid=myid&password=password")

2. 调整RestSharp请求体添加方式

旧版RestSharp通过AddParameter指定RequestBody的方式,在新版本中可能存在兼容问题,改用更明确的AddStringBody方法:

' 原代码
request.AddParameter("application/xml", body, ParameterType.RequestBody)
' 替换为
request.AddStringBody(body, ContentType.Xml)

3. 添加超时设置并捕获完整错误信息

默认超时可能过短导致请求未完成,同时要输出请求的错误状态,帮助定位问题:

restClient.Timeout = TimeSpan.FromSeconds(30) ' 设置30秒超时
Dim result As RestResponse = restClient.Execute(request)
' 输出完整状态与错误信息,而非仅响应内容
MsgBox($"状态码:{result.StatusCode}{vbCrLf}错误信息:{result.ErrorMessage}{vbCrLf}响应内容:{result.Content}")

4. 适配RestSharp版本兼容性

如果是新安装的RestSharp,版本可能与旧代码不兼容(如v107+后同步Execute行为变更),可尝试改用异步方式(WebForms需标记Async):

Protected Async Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
    Dim restClient As RestClient = New RestClient("http://myurl.com/ws/rest?userid=myid&password=password")
    restClient.Timeout = TimeSpan.FromSeconds(30)
    Dim request As RestRequest = New RestRequest(Method.Post)
    request.AddHeader("X-API-Key", "MYAPIKEY")
    request.AddHeader("Content-Type", "application/xml")
    Dim body = "MY Body Request XML Redacted"
    request.AddStringBody(body, ContentType.Xml)
    Dim result As RestResponse = Await restClient.ExecuteAsync(request)
    
    MsgBox($"状态码:{result.StatusCode}{vbCrLf}错误信息:{result.ErrorMessage}{vbCrLf}响应内容:{result.Content}")
    txtXMLTEXTBoxTest.Text = result.Content
End Sub

5. 检查网络权限拦截

若目标API在内部网络,确认应用服务器有权限访问该地址——Postman能访问不代表服务器进程拥有相同的网络权限,可能存在代理、防火墙或企业安全策略拦截。

内容的提问来源于stack exchange,提问作者Gene

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.01 19:50:19