等待HttpClient.PostAsync
响应时,我有时会看到错误,指出"服务器返回了无效或无法识别的响应" :
System.Net.Http.HttpRequestException: An error occurred while sending the request. ---> System.Net.Http.WinHttpException: The server returned an invalid or unrecognized response
at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at System.Runtime.CompilerServices.ConfiguredTaskAwaitable`1.ConfiguredTaskAwaiter.GetResult()
at System.Net.Http.WinHttpHandler.<StartRequest>d__105.MoveNext()
--- End of inner exception stack trace ---
at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at System.Runtime.CompilerServices.ConfiguredTaskAwaitable`1.ConfiguredTaskAwaiter.GetResult()
at System.Net.Http.HttpClient.<FinishSendAsync>d__58.MoveNext()
这是一个非常神秘的错误;我想我可以设想一个&#34;无效&#34;响应可能是(即语法无效的HTTP响应,如直接跳转到没有状态行的标题的响应),但实际上是什么&#34;无法识别&#34;响应HTTP请求?这条消息似乎是胡说八道。
什么情况下实际上可以触发这个错误?
答案 0 :(得分:0)
使用http计划的调用调用仅https端点时,您可以100%地重现该时间。例如,在以下位置调用API:
https://www.mysecureapi.com
使用
http://www.mysecureapi.com
答案 1 :(得分:-2)
可能的情况是您在没有授权令牌或标头的情况下发出了http请求。如果您尝试调用安全方法或api,则需要共享或验证安全令牌才能获取或发布数据。