来自网络服务的响应

Posted

技术标签:

【中文标题】来自网络服务的响应【英文标题】:Response from webservice 【发布时间】:2019-08-25 07:28:15 【问题描述】:

我正在使用一个用 php 制作的网络服务,我已经从 Postman 那里得到了数据,但是当我通过 RestSharp 在 C# 中执行时,我得到了一个连接,但我没有得到内容。

在 Xamarin 应用和控制台应用中尝试,但我无法获取内容。

        var client = new RestClient("https://www.test.com/app/ws.php/");
        var request = new RestRequest(Method.POST);
        request.AddHeader("cache-control", "no-cache");
        request.AddHeader("content-type", "multipart/form-data; boundary=----WebKitFormBoundary7MA4YWxkTrZu0gW");
        request.AddParameter("multipart/form-data; boundary=----WebKitFormBoundary7MA4YWxkTrZu0gW", "------WebKitFormBoundary7MA4YWxkTrZu0gW\r\nContent-Disposition: form-data; name=\"reqedu\"\r\n\r\nget-data-alum\r\n------WebKitFormBoundary7MA4YWxkTrZu0gW\r\nContent-Disposition: form-data; name=\"appusr\"\r\n\r\nuser\r\n------WebKitFormBoundary7MA4YWxkTrZu0gW\r\nContent-Disposition: form-data; name=\"apppwd\"\r\n\r\npassword\r\n------WebKitFormBoundary7MA4YWxkTrZu0gW--", ParameterType.RequestBody);
        IRestResponse response = client.Execute(request);

【问题讨论】:

【参考方案1】:

在执行方法之后,您需要从类似这样的响应对象检查响应代码是否请求成功

  IRestResponse response = client.Execute(request);
  if (response.StatusCode == System.Net.HttpStatusCode.OK)
      Console.WriteLine(response.Content);
  else
      Console.WriteLine(response.ErrorMessage);

【讨论】:

感谢我正在使用调试器来执行此操作,但我只得到 [ ] 没有数据 可能是restsharp问题 - ***.com/questions/49323115/…

以上是关于来自网络服务的响应的主要内容,如果未能解决你的问题,请参考以下文章

如何检查网络响应来自 Alamofire 请求中的缓存或服务器?

使用 Promise 响应来自异步服务的 useContext

等待肯定响应(来自服务器)

解析来自 Restful Web 服务的响应的 C# 代码

转换来自 web 服务的 Json 格式响应

来自 .net WCF 服务的 405 响应错误