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

在VS2017 Community ASP.Net MVC Web API中使用RestSharp发Get请求遇报错

解决RestSharp在ASP.NET MVC Web API中发送GET请求的问题

看起来你在使用RestSharp发送GET请求时遇到了代码编写的问题,我来帮你梳理并修正这段代码。首先你的代码里有个明显的小问题:RestClient已经指定了完整的请求URL,RestRequest就不需要再重复传入相同的URL了,这会导致请求路径错误。

第一步:确保安装了RestSharp包

首先你需要通过NuGet安装RestSharp,在Visual Studio里右键项目 -> 管理NuGet程序包,搜索RestSharp并安装适合.NET Framework的版本(因为你用的是ASP.NET MVC而非Core)。

修正后的完整代码

下面是可以正常运行的代码,我帮你补全了逻辑,并添加了注释说明:

using RestSharp;
using System;

public class YourApiController : System.Web.Mvc.Controller // 如果是Web API控制器,改成System.Web.Http.ApiController
{
    public string Get()
    {
        try
        {
            // 初始化RestClient,传入完整的请求地址
            var client = new RestClient("http://www.dictionary.com/browse/computer");
            
            // 创建GET请求,因为RestClient已经指定了完整URL,这里只需指定请求方法
            var request = new RestRequest(Method.GET);
            
            // 执行请求并获取响应
            IRestResponse response = client.Execute(request);
            
            // 检查响应是否成功
            if (response.IsSuccessful)
            {
                // 返回网页的文本内容
                return response.Content;
            }
            else
            {
                // 请求失败时返回错误信息
                return $"请求失败:{response.StatusCode} - {response.ErrorMessage}";
            }
        }
        catch (Exception ex)
        {
            // 捕获异常,返回异常信息方便调试
            return $"发生异常:{ex.Message}";
        }
    }
}

关键说明

  • URL重复问题:原代码里同时给RestClient和RestRequest传入完整URL,会让RestSharp拼接出错误的请求地址(比如http://www.dictionary.com/browse/computer/http://www.dictionary.com/browse/computer),所以只需要在RestClient里指定完整URL即可。
  • 响应校验:一定要通过response.IsSuccessful判断请求是否成功,避免直接使用response.Content导致空引用或错误内容。
  • 异常处理:添加try-catch块可以捕获网络超时、连接失败等异常,方便你排查问题。

如果你的Web API控制器是继承自ApiController(ASP.NET Web API专属控制器),只需把控制器基类改成System.Web.Http.ApiController,核心逻辑完全一致。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.20 11:08:56