Http请求,用response.getStatusLine().getStatusCode()判断返回值为200,是不是说明对方一定收到请求了?对方是IIS服务器,我的方法已经正确返回200,日志有打印,对方却一直咬定没有收到,我没有接触过IIS服务器,除了这个人以外,别的都没有问题!并且根据对方所说,并不是一直存在类似问题,一天会出现几次,抓包都不好抓!所以想请有遇到过类似问题或有经验丰富的开发帮助分析一下!
欢迎选择我的课程,让我们一起见证您的进步~~
サーバーが 200 を返した場合、サーバーがクライアントリクエストを正常に受信したことが確認できます。この場合、メッセージ ヘッダー情報、メッセージ本文情報、通信時間を含む、サーバーから返されたすべてのメッセージをログに記録できます。ここでこのような問題が発生した場合は、発生時刻に基づいてメッセージを見つけ、このメッセージを他のメッセージと比較して異常がないか確認してください
ハイジャックされていない場合は、コードが間違って書かれていないことを確認してください。それではは
相手がhttp 200でエラーを返してきた可能性があるので、ここで表示されるリターンステータスコードは問題ありませんが、実際には相手のサーバーがエラーを起こしています
まず第一に、HTTP 200 とは何かを理解する必要があります:
リクエストは成功し、リクエストで予期される応答ヘッダーまたはデータ本体がこの応答とともに返されます。
リクエストは実行され、リクエストのニーズに従って新しいリソースが作成され、その URI が Location ヘッダー情報とともに返されました。必要なリソースを時間内に作成できない場合は、「202 Accepted」が返される必要があります。
サーバーはリクエストを受け入れましたが、まだ処理していません。リクエストが拒否される場合があるのと同様に、リクエストは最終的に実行される場合もあれば、実行されない場合もあります。非同期操作の場合、このステータス コードを送信するより便利な方法はありません。 202 ステータス コード応答を返す目的は、バッチが完了するまでクライアントをサーバーに接続したままにすることなく、サーバーが他のプロセス (1 日に 1 回だけ実行されるバッチベースの操作など) からのリクエストを受け入れることができるようにすることです。操作が完了しました。リクエスト処理を受け入れて 202 ステータス コードを返す応答には、返されたエンティティに処理の現在のステータスを示す情報と、処理ステータス モニタまたはステータス予測へのポインタが含まれている必要があります。これにより、ユーザーは操作が適切かどうかを推測できます。完成しました。
サーバーはリクエストを正常に処理しましたが、返されたエンティティ ヘッダーのメタ情報は、元のサーバーで有効な明確なセットではなく、ローカルまたはサードパーティからのコピーです。現在の情報は、元のバージョンのサブセットまたはスーパーセットである可能性があります。たとえば、リソースのメタデータを含めると、オリジン サーバーがメタ情報のスーパーセットを認識することになります。このステータス コードの使用は必須ではなく、このステータス コードがなければ応答が 200 OK を返した場合にのみ適切です。
次に、200リクエストを受信した場合、それはサービスが正常に受信されたことを意味するだけであり、相手のビジネスコードを受信できるかどうかを意味するものではありません。一般に、企業にはファイアウォール サービスや配信サービスなどのネットワーク層があり、一部の企業にはビジネス ゲートウェイ層が存在します。
最後に通信のデータ形式を確認します。
サーバーが 200 を返した場合、サーバーがクライアントリクエストを正常に受信したことが確認できます。この場合、メッセージ ヘッダー情報、メッセージ本文情報、通信時間を含む、サーバーから返されたすべてのメッセージをログに記録できます。ここでこのような問題が発生した場合は、発生時刻に基づいてメッセージを見つけ、このメッセージを他のメッセージと比較して異常がないか確認してください
ハイジャックされていない場合は、コードが間違って書かれていないことを確認してください。それではは
です相手がhttp 200でエラーを返してきた可能性があるので、ここで表示されるリターンステータスコードは問題ありませんが、実際には相手のサーバーがエラーを起こしています
まず第一に、HTTP 200 とは何かを理解する必要があります:
2xx成功
200 OK
リクエストは成功し、リクエストで予期される応答ヘッダーまたはデータ本体がこの応答とともに返されます。
201 件作成されました
リクエストは実行され、リクエストのニーズに従って新しいリソースが作成され、その URI が Location ヘッダー情報とともに返されました。必要なリソースを時間内に作成できない場合は、「202 Accepted」が返される必要があります。
202件承認されました
サーバーはリクエストを受け入れましたが、まだ処理していません。リクエストが拒否される場合があるのと同様に、リクエストは最終的に実行される場合もあれば、実行されない場合もあります。非同期操作の場合、このステータス コードを送信するより便利な方法はありません。
202 ステータス コード応答を返す目的は、バッチが完了するまでクライアントをサーバーに接続したままにすることなく、サーバーが他のプロセス (1 日に 1 回だけ実行されるバッチベースの操作など) からのリクエストを受け入れることができるようにすることです。操作が完了しました。リクエスト処理を受け入れて 202 ステータス コードを返す応答には、返されたエンティティに処理の現在のステータスを示す情報と、処理ステータス モニタまたはステータス予測へのポインタが含まれている必要があります。これにより、ユーザーは操作が適切かどうかを推測できます。完成しました。
203 非権威情報
サーバーはリクエストを正常に処理しましたが、返されたエンティティ ヘッダーのメタ情報は、元のサーバーで有効な明確なセットではなく、ローカルまたはサードパーティからのコピーです。現在の情報は、元のバージョンのサブセットまたはスーパーセットである可能性があります。たとえば、リソースのメタデータを含めると、オリジン サーバーがメタ情報のスーパーセットを認識することになります。このステータス コードの使用は必須ではなく、このステータス コードがなければ応答が 200 OK を返した場合にのみ適切です。
次に、200リクエストを受信した場合、それはサービスが正常に受信されたことを意味するだけであり、相手のビジネスコードを受信できるかどうかを意味するものではありません。一般に、企業にはファイアウォール サービスや配信サービスなどのネットワーク層があり、一部の企業にはビジネス ゲートウェイ層が存在します。
最後に通信のデータ形式を確認します。