如何 return 从远程服务器 return 编辑什么?

How to return whatever is returned from remote server?

我有以下 WebClient 代码,假设我的代码充当代理,并且 link 到远程服务器,我想抛出从远程服务器返回的任何响应,我怎么能这样做?我不想处理异常或任何东西,只是抛出响应。


using (var client = new WebClient())
{
    client.Headers[HttpRequestHeader.ContentType] = "application/json";

    Uri NODE_LOGIN_PATH = new Uri(URI_Combine(NodeAPI, "auth/login"));
    string jsonString = JsonConvert.SerializeObject(login_details);


    JObject data = JObject.Parse(await client.UploadStringTaskAsync(NODE_LOGIN_PATH, jsonString));
    return data;
}

您似乎在 MVC 4 项目中使用 WebClient,所以您使用的是旧东西。考虑升级到 HttpClient 和 ASP.NET Core。

你想要的原理是这样的:

public class FooController : ApiController
{
    public HttpResponseMessage Get()
    {
        // Do the HTTP call
        var httpResponse = client.DoSomeRequest();

        // Translate
        var apiResponse = new HttpResponseMessage
        {
            StatusCode = httpResponse.StatusCode.Map(...),
            Headers = httpResponse.Headers.Map(...),
            Body = httpResponse.Body.Map(...),
        };


        // Return
        return apiResponse;
    }

}

因此:执行请求,并将其转换(映射)到您的 Web API 平台需要的 HttpResponseMessage(或 IHttpActionResult,或...)。