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

在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日

悬赏问题

  • ¥15 电脑和power bi环境都是英文如何将日期层次结构转换成英文
  • ¥15 DruidDataSource一直closing
  • ¥20 气象站点数据求取中~
  • ¥15 如何获取APP内弹出的网址链接
  • ¥15 wifi 图标不见了 不知道怎么办 上不了网 变成小地球了
  • ¥50 STM32单片机传感器读取错误
  • ¥50 power BI 从Mysql服务器导入数据,但连接进去后显示表无数据
  • ¥15 (关键词-阻抗匹配,HFSS,RFID标签)
  • ¥50 sft下载大文阻塞卡死
  • ¥15 机器人轨迹规划相关问题