aierda 2021-09-10 17:43 采纳率: 72.1%
浏览 472
已结题

在postman接口调试工具中有结果返回,在后台代码中却没有结果返回,求指点

首先我使用postman测试工具,测试接口,返回结果正常,如下图

img


然而,我使用c#后台代码去访问这个接口,却不能获取返回值,最终的返回结果却是空字符串,代码如下

            HttpWebRequest request = null;
            HttpWebResponse response = null;
            Stream streamResponse = null;
            try
            {
                request = (HttpWebRequest)WebRequest.Create("http://192.168.2.20:8080/api/v1/auth/login");
                request.Method = "Post";
                request.ContentType = "application/x-www-form-urlencoded; charset=UTF-8";
                request.KeepAlive = true;
                request.ProtocolVersion = HttpVersion.Version10;

                string jsonContract = "{ \"password\" : \"ZJHzjh800521@1\"}";
                byte[] PostData = Encoding.UTF8.GetBytes(jsonContract);
                //发送数据  using结束代码段释放
                using (Stream requestStm = request.GetRequestStream())
                {
                    requestStm.Write(PostData, 0, PostData.Length);
                }
                ServicePoint currentServicePoint = request.ServicePoint;
                currentServicePoint.ConnectionLimit = 1000;

                //响应
                response = (HttpWebResponse)request.GetResponse();
                streamResponse = response.GetResponseStream();
                string strResponse = string.Empty;
                //如果服务端采用了GZIP压缩,则先解压缩。
                if (response.ContentEncoding.ToLower().Contains("gzip"))
                {
                    using (GZipStream gz = new GZipStream(streamResponse, CompressionMode.Decompress))
                    {
                        using (StreamReader readerGzip = new StreamReader(gz, Encoding.UTF8))
                        {
                            strResponse = readerGzip.ReadToEnd();
                        }
                    }
                }
                else
                {
                    using (StreamReader streamRead = new StreamReader(streamResponse, Encoding.UTF8))
                    {
                        strResponse = streamRead.ReadToEnd();
                    }
                }
                return strResponse;**//这里的值最后还是空的**
            }
            catch (Exception ex)
            {
                var msg = ex.Message;
                return msg;
            }

请教:我的代码是在哪里出问题了呢,或者还有什么地方没有设置好?怎样才能实现像postman的那种效果,成功返回结果

  • 写回答

11条回答 默认 最新

  • Roc-xb 后端领域优质创作者 2021-09-10 19:16
    关注

    有个很简单的小技巧,postman可以快速提供多种代码生成
    使用方法:
    第一步:打开代码生成器

    img


    第二步:选择需要生成的代码类型

    img

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(10条)

报告相同问题?

问题事件

  • 系统已结题 9月21日
  • 已采纳回答 9月13日
  • 赞助了问题酬金 9月10日
  • 创建了问题 9月10日

悬赏问题

  • ¥30 靶向捕获测序探针设计自学
  • ¥15 写代码写代码单片机代码写代码写数字按键代码
  • ¥15 django按照距离进行排序
  • ¥15 (标签-微信|关键词-微信公众号)
  • ¥15 matlab中mjs用不了
  • ¥15 Ios抖音直播的时候如何添加自定义图片在直播间!
  • ¥60 riscv-pulpino总线上挂载axi从机
  • ¥15 ssh登录页面的问题
  • ¥50 关于在matlab上对曲柄摇杆机构上一点的运动学仿真
  • ¥15 jetson nano