默认情况下,httppost返回什么?
本文关键字:什么 返回 httppost 情况下 默认 | 更新日期: 2023-09-27 18:13:45
我目前正在与许多第三方合作,通过带有加密url字符串的HttpPost向他们发送数据。每个第三方都发回一个xml字符串,然后我读取并使用它。一切都好!
我的问题是这样的。如果我向第三方发送请求,而他们没有提供响应,会发生什么?澄清一下,我的意思是不是在所有情况下都返回响应字符串——不仅仅是错误和超时。很少有事情会发生:
- 第三方发送的响应:它由所需的输出(在您的情况下是XML字符串)组成。
-
发送了一个响应,但是内容是0长度:请记住HTTP响应由HTTP头和内容两部分组成。在这种情况下,第三方只发送报头。您可以将其视为
String.Empty
输出。 - 没有发送响应:第三方应该根据HTTP协议发送响应,但是他们没有。第三方可能会关闭套接字或只是超时。这可能是因为内部问题,或者他们只是选择不回应你。这将通常导致异常。然而,异常是什么取决于你用来发送HTTP请求的方法/库。
HTTP协议不包含不发送响应的方法。响应总是发送。它可能是零长度。
我的意思是不是在所有情况下都返回响应字符串
这是一个问题还是一个断言?这个语句是错误的。
不提供响应,会发生什么?
那么在零长度响应的情况下会发生什么呢?这完全取决于你的代码。协议和框架都不关心这种情况。
难道套接字不能在返回任何报头之前关闭吗?或者,如果服务器宕机了?
这是违反协议的。那么,这不是HTTP。在这种情况下,应用程序通常会通过异常通知。