Page 1 sur 1

[Résolu] Error parsing http request.

Publié : 29 juin 2020, 23:15
par Formid
Bonjour
Depuis environ une semaine je trouve dans les log une succession continue d'erreur :
"Error: Error parsing http request."
J'ai essayé de désactiver les pluging (1 pluging Linky je pensais que le problème venait de ce pluging car il ne fonctionnait pas) de désactiver les programmes dzvent. Tout cela sans succès.

Mon Domoticz tourne sur un Raspberry PI3 (Raspbian 10 Burster à jour)
J'ai la dernière version beta 2020.2( Build 12191)
Connecté à mon Raspberry, j'ai une carte RFLink (a base de Arduino Méga) et 2 cartes ESP32 connectées en WiFi.
J'ai aussi un dongle ZWave mais que je n'utilise pas.

Je ne peux déterminer avec précision quand est apparue cette erreur, peut être à la suite d'une mise à jour de Domoticz, je les fais toutes.
J'ai trouvé plusieurs post traitant cette erreur mais sans solution.
Ce n'est pas bloquant, mon Domoticz fonction très bien par ailleurs mais c'est intrigant.
Quelqu'un aurait il l'explication et, peut être la solution ?

Merci

Re: Error parsing http request.

Publié : 30 juin 2020, 12:39
par Keros
Tu as des notifications activées quelque part ?
Tu as des scripts qui font appels a des requêtes http ?

A quelle fréquence apparait le message d'erreur ? C'est aléatoire ? Régulier ?

Ce serait pas tes commandes pour l'ESP32 qui poserait soucis ?

Re: Error parsing http request.

Publié : 30 juin 2020, 12:42
par Wolfen38
Chez moi c'est une trentaine de fois par jour et je pense de façon aléatoire. DESS fois rien pendant 2h puis après toutes les 10 min pendant 2h

2020-06-30 05:51:31.572 Error: Error parsing http request.

2020-06-30 06:39:11.663 Error: Error parsing http request.

2020-06-30 07:44:34.612 Error: Error parsing http request.

2020-06-30 07:44:34.677 Error: Error parsing http request.

2020-06-30 07:45:39.368 Error: Error parsing http request.

2020-06-30 07:45:39.373 Error: Error parsing http request.

2020-06-30 07:53:50.868 Error: Error parsing http request.

2020-06-30 07:53:50.896 Error: Error parsing http request.

2020-06-30 08:17:42.813 Error: Error parsing http request.

2020-06-30 08:17:42.832 Error: Error parsing http request.

2020-06-30 08:25:24.846 Error: Error parsing http request.

2020-06-30 08:51:56.065 Error: Error parsing http request.

2020-06-30 08:51:56.077 Error: Error parsing http request.

2020-06-30 09:26:35.935 Error: Error parsing http request.

2020-06-30 09:59:28.600 Error: Error parsing http request.

2020-06-30 09:59:28.722 Error: Error parsing http request.

2020-06-30 10:10:30.939 Error: Error parsing http request.

2020-06-30 10:30:47.165 Error: Error parsing http request.

2020-06-30 10:42:05.407 Error: Error parsing http request.

2020-06-30 10:42:05.413 Error: Error parsing http request.

2020-06-30 11:02:00.293 Error: Error parsing http request.

2020-06-30 11:02:00.528 Error: Error parsing http request.

2020-06-30 11:41:53.244 Error: Error parsing http request.

2020-06-30 11:41:53.246 Error: Error parsing http request.

2020-06-30 12:22:27.524 Error: Error parsing http request.

2020-06-30 12:22:28.412 Error: Error parsing http request.

2020-06-30 12:31:13.497 Error: Error parsing http request.

2020-06-30 12:31:13.600 Error: Error parsing http request.

2020-06-30 12:32:14.217 Error: Error parsing http request.


Envoyé de mon Mi 9T Pro en utilisant Tapatalk



Re: Error parsing http request.

Publié : 30 juin 2020, 15:37
par boum
Ça peut aussi être un problème de type attaque « botnet. »
Si la machine ou son port est visible depuis l'extérieur – ou si un autre appareil est compromis sur le réseau local — tout serveur (ici domoticz sur son service http) peut recevoir des requêtes mal formées ou construites exprès pour prendre le contrôle de serveur web avec des failles connues.

Idéalement, il faudrait augmenter la verbosité des logs pour avoir au moins l'IP d'origine et aussi la requête qui échoue.

Re: Error parsing http request.

Publié : 30 juin 2020, 15:38
par Wolfen38
Comment on fait ça ?

Envoyé de mon Mi 9T Pro en utilisant Tapatalk


Re: Error parsing http request.

Publié : 30 juin 2020, 15:55
par boum
Pour les logs, je ne sais pas. Je ne suis même pas sûr que l'information sera reportée (pas trouvé cette info sur le forum anglophone).
Au pire, il y a tcpdump, mais il faut filtrer et le lancer au bon moment https://lea-linux.org/documentations/Tcpdump

Re: Error parsing http request.

Publié : 30 juin 2020, 23:51
par Formid
Bonsoir
J'ai trouvé l'explication. Cela venait d'une de mes cartes ESP32.
Celle ci vient lire les données de 3 sondes de température DHT22.
Ces sondes sont parfois capricieuse. Pour savoir quand une sonde n’envoie pas de données j'avais rajouté dans le test " if (isnan(h1) || isnan(t1) une commande json qui envoyait à Domoticz l'info de la sonde en question.
Cela fonctionnait bien au début, j"avais placé des délai de 5sec à chaque étape.
Mais la multiplication des délai m'interdisais de faire des mise à jour à distance "OTA". Le temps de réponse à la demande authentification était trop long. L'authentification était refusée systématiquement.
Il faut un temps total de la boucle loop qui soit inférieur à 10sec (estimé) pour une authentification certaine.
Voulant conserver la mise à jour OTA , j'ai réduit drastiquement tous les délais.
Je n'avais plus de retour de sonde défectueuse car les commandes json ne passaient plus ou plutot, le retour des commandes de Domoticz n'avait plus le temps d'être traité.
D’où l'erreur "parsing HTTP request" (erreur d'analyse de la demande http.)
J'ai supprimer l'envoi json des sondes en erreur et je n'ai plus de message d'erreur dans le log.
La première DHT22 lu passe toujours très bien, les 2 suivantes pas toujours mais ce n'est pas trop gênant, au pire elles reste 5mn sans donner de résultats.

C'était donc lié à un envoi json qui se passait mal, l'ESP32 envoi la commande mais doit ensuite attendre le retour OK de Domoticz

Le problème est donc résolu.
Merci tout de même pour vos réponses!

Re: [Résolu] Error parsing http request.

Publié : 01 juil. 2020, 06:48
par Keros
Tant mieux que tu ai résolu ton problème et merci d'être revenu l'expliquer ;)

Re: [Résolu] Error parsing http request.

Publié : 01 juil. 2020, 07:02
par Wolfen38
Bon je vais regarder de mon côté sur les sonoff j'ai que ça en esp

Envoyé de mon Mi 9T Pro en utilisant Tapatalk


Re: [Résolu] Error parsing http request.

Publié : 15 juil. 2020, 11:39
par Formid
Bonjour
J'ai trouvé l'explication finale de mon problème d'erreur parsing http request
Cela vient bien de l'envoi d'une instruction texte json à domoticz.
Contrairement à ce que je pensais au début de mes investigations, ce n'est pas une histoire de délai.
C'est le contenu de l'instruction qui est en cause.
L'instruction json "texte" ne supporte pas les espaces!
J'avais cette instruction (que j’avais modifiée en rajoutant le numéro de ma sonde " 1 "):
String url11 = "/json.htm?type=command&param=udevice&idx=76&nvalue=4&svalue='Probleme_de_lecture_sonde 1 Congel!'"
Quand je la testais en l'envoyant à domoticz directement via mon navigateur internet, elle passait parfaitement et je recevais bien le retour "ok device update" de domoticz.
Par contre l'envoi automatique dans la boucle programme de l'ESP32 est refusé par domoticz d’où l’erreur parsing http request.
En supprimant les espaces tout fonctionne parfaitement. Je n'ai plus aucune erreur depuis plusieurs jours.
String url11 = "/json.htm?type=command&param=udevice&idx=76&nvalue=4&svalue='Probleme_de_lecture_sonde1_Congel!'"
J'ai bien l'historique des problèmes de lecture des sondes DHT22.
Elles semblent plus capricieuse à froid. Les sondes placées dans les congélateurs doivent relancer plusieurs fois leur lecture, celles placées dans un frigo ou à l'ambiante, c'est assez rare.