Maison > Questions et réponses > le corps du texte
Http请求,用response.getStatusLine().getStatusCode()判断返回值为200,是不是说明对方一定收到请求了?对方是IIS服务器,我的方法已经正确返回200,日志有打印,对方却一直咬定没有收到,我没有接触过IIS服务器,除了这个人以外,别的都没有问题!并且根据对方所说,并不是一直存在类似问题,一天会出现几次,抓包都不好抓!所以想请有遇到过类似问题或有经验丰富的开发帮助分析一下!
迷茫2017-04-18 10:52:12
Si le serveur renvoie 200, il peut être confirmé que le serveur a reçu avec succès la demande du client. Dans votre cas, vous pouvez enregistrer tous les messages renvoyés par le serveur, y compris les informations d'en-tête du message, les informations sur le corps du message et le temps de communication. Lorsque ce genre de problème se produit ici, recherchez le message en fonction de l'heure d'apparition, puis comparez ce message avec d'autres messages pour voir s'il y a quelque chose d'anormal
巴扎黑2017-04-18 10:52:12
S'il n'a pas été piraté, assurez-vous que votre code n'est pas mal écrit. Alors est
PHP中文网2017-04-18 10:52:12
Il est possible que l'autre partie ait renvoyé une erreur avec http 200, donc le code d'état de retour que vous voyez ici est correct, mais le serveur de l'autre partie a en fait fait une erreur
阿神2017-04-18 10:52:12
Tout d'abord, nous devons comprendre ce qu'est HTTP 200 :
La requête a réussi et l'en-tête de réponse ou le corps de données attendu par la requête sera renvoyé avec cette réponse.
La demande a été satisfaite et une nouvelle ressource a été créée en fonction des besoins de la demande, et son URI a été renvoyée avec l'en-tête Location. Si les ressources requises ne peuvent pas être créées à temps, « 202 Accepted » doit être renvoyé.
La demande a été acceptée par le serveur mais n'a pas encore été traitée. Tout comme elle peut être refusée, la demande peut finalement être exécutée ou non. Dans le cas d'opérations asynchrones, il n'y a pas de moyen plus pratique que d'envoyer ce code d'état.
Le but du renvoi d'une réponse de code d'état 202 est de permettre au serveur d'accepter les demandes d'autres processus (comme une opération par lots qui n'est effectuée qu'une fois par jour) sans avoir à garder le client connecté au serveur jusqu'à ce que l'opération par lots. Tout est fait. Une réponse qui accepte le traitement de la demande et renvoie un code d'état 202 doit contenir des informations dans l'entité renvoyée indiquant l'état actuel du traitement, ainsi qu'un pointeur vers un moniteur d'état de traitement ou une prédiction d'état afin que l'utilisateur puisse estimer si l'opération a été complété.
Le serveur a traité avec succès la demande, mais les métainformations d'en-tête d'entité renvoyées ne sont pas un ensemble défini valable sur le serveur d'origine, mais une copie provenant d'un local ou d'un tiers. Les informations actuelles peuvent être un sous-ensemble ou un sur-ensemble de la version originale. Par exemple, le fait de contenir des métadonnées pour une ressource peut permettre au serveur d'origine de connaître un sur-ensemble de métainformations. L’utilisation de ce code d’état n’est pas obligatoire et n’est appropriée que si la réponse aurait renvoyé 200 OK sans ce code d’état.
Deuxièmement, si vous recevez une demande 200, cela signifie uniquement que le service a été reçu avec succès, et cela ne signifie pas si le code commercial de l'autre partie peut être reçu. Généralement, les entreprises disposent de couches réseau telles que des services de pare-feu et des services de distribution, et certaines disposent de couches de passerelle métier.
Enfin, vérifiez le format des données de communication.