C# Web API 502 Bad GateWay 问题排解

前情提要

使用HttpClient Post时,碰到API无回应,大约两分钟後出现502 Bad GateWay的错误,但使用Postman却可以成功Post。後来透过Fiddler找出Header多了一个 "Expect:100-continue",纪录下解决过程
(HttpWebRequest也会遇到同样的问题)


Postman

  1. Postman设定
    Setting -> Proxy的Tab -> Port设定8888
    https://ithelp.ithome.com.tw/upload/images/20210614/20110063j5d7fHTVq6.png
  2. 发送Request後Fiddler查看Postman传送的Header
    https://ithelp.ithome.com.tw/upload/images/20210614/20110063jwj4h6NQEu.png

C#

  1. 程序新增设定WebProxy
//Fiddler预设监听8888端口
var client = new HttpClient(new HttpClientHandler{ Proxy = new WebProxy("127.0.0.1", 8888), UseProxy = true})
  1. 发送Request後Fiddler查看程序传送的Header
    https://ithelp.ithome.com.tw/upload/images/20210614/201100630pJ9e6siXm.png

解法
把ExpectContinue设定成false即可

client.DefaultRequestHeaders.ExpectContinue = false;

<<:  软件测试覆盖率分析(测试粒度最细)-表达式(expressions)和决策结构

>>:  Azure Private DNS 手把手基础教学

[Day 29] Android in Kotlin: Icon 浅解

在刚创建好的专案中可以在 res 里看到一个名为 mipmap 的资料夹,而里面放着各种图片。根据我...

[Day 06] - 用Spring Boot 建立Controller

回顾前一天讲的MVC,下达request到Controller後,由Service去执行资料的 增/...

.Net Core Web Api_笔记21_Swagger及OpenAPI介绍与配置使用方式_API管理与测试探讨

Swagger 是一套web api管理於测试的工具 甚至可协助提供自订API规格文件与呼叫回应方式...

[Day21] 网格交易机器人行前准备

首先先更新登入的部分,之後会需要登入凭证,这边的一些变数可以再利用 然後是网格交易策略那边,一些参数...

管理职不是屎缺,但也不好做

相信这个问题做了几年工程师之後,应该多少都有想过一两次吧? 在管理职当然做的事情,就会从面对事情而转...