WebAPI开发 HttpClient Post请求问题

JaremyS 2017-12-26 10:52:17



请问下 HttpClient Post请求我这样写 总是报500 Internal Server Error 是什么原因? 哪里需要修改?
...全文
347 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
JaremyS 2017-12-27
  • 打赏
  • 举报
回复
引用 8 楼 xuezt 的回复:
.net 开发webapi 麻烦吗
xuezt 2017-12-27
  • 打赏
  • 举报
回复
.net 开发webapi 麻烦吗
JaremyS 2017-12-26
  • 打赏
  • 举报
回复
引用 5 楼 starfd 的回复:
你确认对方服务器进行gzip压缩了吗?
不确定 但是我的Get请求也设置了GZIP压缩 可以返回成功
JaremyS 2017-12-26
  • 打赏
  • 举报
回复
引用 2 楼 daixf_csdn 的回复:
这要问服务器了,服务器端是你控制的吗?还是说第三方? 你需要在Exception的时候,获取进一步的错误消息。不要处理Exception,而应该处理WebException,获取ex.Response
catch (WebException ex)
            {
                string errorMessage = ex.Message;

                //需判断response是否==null
                WebResponse exResponse = ex.Response;
                if (exResponse == null)
                {
                    throw;
                }
                else
                {
                    receiveStreamOut = exResponse.GetResponseStream();
                    srOut = new StreamReader(receiveStreamOut, Encoding.UTF8);
                    string result = srOut.ReadToEnd();
                    exResponse.Close();

                    //此处将错误信息和json信息同时返回
                    throw new CustomWebException(result, url, ex);
                }
            }
问题是 服务器请求方法都没进入,没办法捕获异常 我在想是请求方法的参数有问题还是服务器配置问题
  • 打赏
  • 举报
回复
你确认对方服务器进行gzip压缩了吗?
JaremyS 2017-12-26
  • 打赏
  • 举报
回复
引用 3 楼 starfd 的回复:
你都序列化成字符串了,当然用StringContent啊…… 另外HttpClient不要每次都new,static一个就可以了,不然你访问次数多了,你的端口会被占用光的
好的记得了 我改了StringContent仍然返回的是500 即 var content=new StringContent(data);
  • 打赏
  • 举报
回复
你都序列化成字符串了,当然用StringContent啊…… 另外HttpClient不要每次都new,static一个就可以了,不然你访问次数多了,你的端口会被占用光的
圣殿骑士18 2017-12-26
  • 打赏
  • 举报
回复
这要问服务器了,服务器端是你控制的吗?还是说第三方? 你需要在Exception的时候,获取进一步的错误消息。不要处理Exception,而应该处理WebException,获取ex.Response
catch (WebException ex)
            {
                string errorMessage = ex.Message;

                //需判断response是否==null
                WebResponse exResponse = ex.Response;
                if (exResponse == null)
                {
                    throw;
                }
                else
                {
                    receiveStreamOut = exResponse.GetResponseStream();
                    srOut = new StreamReader(receiveStreamOut, Encoding.UTF8);
                    string result = srOut.ReadToEnd();
                    exResponse.Close();

                    //此处将错误信息和json信息同时返回
                    throw new CustomWebException(result, url, ex);
                }
            }
JaremyS 2017-12-26
  • 打赏
  • 举报
回复

62,046

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧