Je suis en train de me faire un petit outil de MAJ automatique de mon
compte dyndns.org.
Rien de bien compliqué si ce n'est que j'ai un soucis au niveau de la
requete d'update.
Je dois envoyer la requete par GET, elle censée avoir cette tête la :
Pour la construire pas de problème mais pour l'envoyer c'est une autre
pair de manche. J'ai essayé avec fopen, fsockopen mais à chaque je prend
le retour d'erreur BADAGENT (qui signifie chez eux : "The user agent
that was sent has been blocked for not following these specifications or
no user agent was specified.").
C'est un poil ennuyeux car cela signifie que quand je construit une url
et que je la colle dans le navigateur aucun probleme par contre quand je
fais ca par GET (et ce c'est que mon outil doit faire au final) ca ne
marche plus.
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Guillaume Brocker
Fotin Ludovic wrote:
Salut à tous,
Je suis en train de me faire un petit outil de MAJ automatique de mon compte dyndns.org. Rien de bien compliqué si ce n'est que j'ai un soucis au niveau de la requete d'update. Je dois envoyer la requete par GET, elle censée avoir cette tête la :
Y a-t-il vraiment des retours à la ligne dans l'url que tu utilises ? Normalement, l'url qui suit la méthode (ici GET) doit se trouver sur la même ligne.
Pour la construire pas de problème mais pour l'envoyer c'est une autre pair de manche. J'ai essayé avec fopen, fsockopen mais à chaque je prend le retour d'erreur BADAGENT (qui signifie chez eux : "The user agent that was sent has been blocked for not following these specifications or no user agent was specified.").
Avec fopen, tu ne peux spécifier directement que l'url et pas les champs additionnels comme "User-agent" et "Authorization". Par contre, avec fsockopen, en se connectant sur le bon port destination et en envoyant une requête conforme, cela devrait fonctionner.
C'est un poil ennuyeux car cela signifie que quand je construit une url et que je la colle dans le navigateur aucun probleme par contre quand je fais ca par GET (et ce c'est que mon outil doit faire au final) ca ne marche plus.
Je pense que la requête que tu envoies ne respecte pas scrupuleusement la spécification HTTP. Peut-être as-tu omis de mettre une ligne vide à la fin de tes headers. En tout cas, la requête telle qu'elle figure dans ton message ne permet pas de le savoir. J'ai mis ci-après une version qui devrait fonctionner. Tout les "rn" représentent les fins de lignes qui doivent obligatoirement être présentes. L'url qui suit la méthode GET a été tronquée pour plus de clareté. Dans la version réelle, elle doit figurer sur une seule et même ligne.
Je t'invite également à consulter les RFCs relatives au protocal HTTP. Voici quelques liens: <http://www.faqs.org/rfcs/rfc1945.html> <http://www.faqs.org/rfcs/rfc2616.html>
-- Guillaume Brocker
Fotin Ludovic wrote:
Salut à tous,
Je suis en train de me faire un petit outil de MAJ automatique de mon
compte dyndns.org.
Rien de bien compliqué si ce n'est que j'ai un soucis au niveau de la
requete d'update.
Je dois envoyer la requete par GET, elle censée avoir cette tête la :
Y a-t-il vraiment des retours à la ligne dans l'url que tu utilises ?
Normalement, l'url qui suit la méthode (ici GET) doit se trouver sur la
même ligne.
Pour la construire pas de problème mais pour l'envoyer c'est une autre
pair de manche. J'ai essayé avec fopen, fsockopen mais à chaque je prend
le retour d'erreur BADAGENT (qui signifie chez eux : "The user agent
that was sent has been blocked for not following these specifications or
no user agent was specified.").
Avec fopen, tu ne peux spécifier directement que l'url et pas les champs
additionnels comme "User-agent" et "Authorization". Par contre, avec
fsockopen, en se connectant sur le bon port destination et en envoyant
une requête conforme, cela devrait fonctionner.
C'est un poil ennuyeux car cela signifie que quand je construit une url
et que je la colle dans le navigateur aucun probleme par contre quand je
fais ca par GET (et ce c'est que mon outil doit faire au final) ca ne
marche plus.
Je pense que la requête que tu envoies ne respecte pas scrupuleusement
la spécification HTTP. Peut-être as-tu omis de mettre une ligne vide à
la fin de tes headers. En tout cas, la requête telle qu'elle figure dans
ton message ne permet pas de le savoir. J'ai mis ci-après une version
qui devrait fonctionner. Tout les "rn" représentent les fins de lignes
qui doivent obligatoirement être présentes. L'url qui suit la méthode
GET a été tronquée pour plus de clareté. Dans la version réelle, elle
doit figurer sur une seule et même ligne.
Je t'invite également à consulter les RFCs relatives au protocal HTTP.
Voici quelques liens:
<http://www.faqs.org/rfcs/rfc1945.html>
<http://www.faqs.org/rfcs/rfc2616.html>
Je suis en train de me faire un petit outil de MAJ automatique de mon compte dyndns.org. Rien de bien compliqué si ce n'est que j'ai un soucis au niveau de la requete d'update. Je dois envoyer la requete par GET, elle censée avoir cette tête la :
Y a-t-il vraiment des retours à la ligne dans l'url que tu utilises ? Normalement, l'url qui suit la méthode (ici GET) doit se trouver sur la même ligne.
Pour la construire pas de problème mais pour l'envoyer c'est une autre pair de manche. J'ai essayé avec fopen, fsockopen mais à chaque je prend le retour d'erreur BADAGENT (qui signifie chez eux : "The user agent that was sent has been blocked for not following these specifications or no user agent was specified.").
Avec fopen, tu ne peux spécifier directement que l'url et pas les champs additionnels comme "User-agent" et "Authorization". Par contre, avec fsockopen, en se connectant sur le bon port destination et en envoyant une requête conforme, cela devrait fonctionner.
C'est un poil ennuyeux car cela signifie que quand je construit une url et que je la colle dans le navigateur aucun probleme par contre quand je fais ca par GET (et ce c'est que mon outil doit faire au final) ca ne marche plus.
Je pense que la requête que tu envoies ne respecte pas scrupuleusement la spécification HTTP. Peut-être as-tu omis de mettre une ligne vide à la fin de tes headers. En tout cas, la requête telle qu'elle figure dans ton message ne permet pas de le savoir. J'ai mis ci-après une version qui devrait fonctionner. Tout les "rn" représentent les fins de lignes qui doivent obligatoirement être présentes. L'url qui suit la méthode GET a été tronquée pour plus de clareté. Dans la version réelle, elle doit figurer sur une seule et même ligne.
Je t'invite également à consulter les RFCs relatives au protocal HTTP. Voici quelques liens: <http://www.faqs.org/rfcs/rfc1945.html> <http://www.faqs.org/rfcs/rfc2616.html>
-- Guillaume Brocker
Jedi121
Fotin Ludovic a écrit le 29/02/2004 :
Pour la construire pas de problème mais pour l'envoyer c'est une autre pair de manche. J'ai essayé avec fopen, fsockopen mais à chaque je prend le retour d'erreur BADAGENT (qui signifie chez eux : "The user agent that was sent has been blocked for not following these specifications or no user agent was specified.").
C'est un poil ennuyeux car cela signifie que quand je construit une url et que je la colle dans le navigateur aucun probleme par contre quand je fais ca par GET (et ce c'est que mon outil doit faire au final) ca ne marche plus.
Quelqu'un a une idée ?
Changer le user_agent dans php.ini ?
Fotin Ludovic a écrit le 29/02/2004 :
Pour la construire pas de problème mais pour l'envoyer c'est une autre pair
de manche. J'ai essayé avec fopen, fsockopen mais à chaque je prend le retour
d'erreur BADAGENT (qui signifie chez eux : "The user agent that was sent has
been blocked for not following these specifications or no user agent was
specified.").
C'est un poil ennuyeux car cela signifie que quand je construit une url et
que je la colle dans le navigateur aucun probleme par contre quand je fais ca
par GET (et ce c'est que mon outil doit faire au final) ca ne marche plus.
Pour la construire pas de problème mais pour l'envoyer c'est une autre pair de manche. J'ai essayé avec fopen, fsockopen mais à chaque je prend le retour d'erreur BADAGENT (qui signifie chez eux : "The user agent that was sent has been blocked for not following these specifications or no user agent was specified.").
C'est un poil ennuyeux car cela signifie que quand je construit une url et que je la colle dans le navigateur aucun probleme par contre quand je fais ca par GET (et ce c'est que mon outil doit faire au final) ca ne marche plus.
Quelqu'un a une idée ?
Changer le user_agent dans php.ini ?
Thierry SCHMIT
bonjour,
confronté au même genre de pbs, je les ais résolu en utilisant l'extension curl: http://fr2.php.net/manual/fr/ref.curl.php
thierry
bonjour,
confronté au même genre de pbs, je les ais résolu en utilisant
l'extension curl:
http://fr2.php.net/manual/fr/ref.curl.php
confronté au même genre de pbs, je les ais résolu en utilisant l'extension curl: http://fr2.php.net/manual/fr/ref.curl.php
thierry
ludovic_nospam_
Tout d'abord merci à tous les deux.
j'ai bien recréer la requête comme il faut cad la première partie sur une seule et même ligne et p'tit rn à la fin de chaque ligne même la dernière... mais le serveur me claque toujours la même erreur.
Voici la requête :
GET /nic/update?system=dyndns&hostname=test.dyndns.org&myip=XX.XX.XX.XX&wildcard=OFF&mx=&backmx=NO&offline=NO HTTP/1.0
Host: members.dyndns.org
Authorization: Basic test:test
Ca m'a l'air correcte mais pourtant....
Ludo
Tout d'abord merci à tous les deux.
j'ai bien recréer la requête comme il faut cad la première partie sur
une seule et même ligne et p'tit rn à la fin de chaque ligne même la
dernière...
mais le serveur me claque toujours la même erreur.
Voici la requête :
GET /nic/update?system=dyndns&hostname=test.dyndns.org&myip=XX.XX.XX.XX&wildcard=OFF&mx=&backmx=NO&offline=NO
HTTP/1.0
j'ai bien recréer la requête comme il faut cad la première partie sur une seule et même ligne et p'tit rn à la fin de chaque ligne même la dernière... mais le serveur me claque toujours la même erreur.
Voici la requête :
GET /nic/update?system=dyndns&hostname=test.dyndns.org&myip=XX.XX.XX.XX&wildcard=OFF&mx=&backmx=NO&offline=NO HTTP/1.0
Host: members.dyndns.org
Authorization: Basic test:test
Ca m'a l'air correcte mais pourtant....
Ludo
ludovic_nospam_
confronté au même genre de pbs, je les ais résolu en utilisant l'extension curl: http://fr2.php.net/manual/fr/ref.curl.php
J'avais songé passé par la. J'ai fait un test à l'arrache qui n'a pas fonctionné. Va falloir que je plonge plus dans la doc pour re-tester.
En tout cas en construisant l'url comme cela : (tout sur la meme ligne) http://test:/ nic/update?system=dyndns&hostname=test.dyndns.org& myip=XX.XX.XX.XX&wildcard=OFF&mx=&backmx=NO&offline=NO
et en faisant un fopen de cette url cela fonctionne correctement.
Je vais tout de meme voir du côté de CURL pour essayer de faire un truc un peu plus "clean".
Merci à tous.
Ludo
confronté au même genre de pbs, je les ais résolu en utilisant
l'extension curl:
http://fr2.php.net/manual/fr/ref.curl.php
J'avais songé passé par la. J'ai fait un test à l'arrache qui n'a pas
fonctionné.
Va falloir que je plonge plus dans la doc pour re-tester.
En tout cas en construisant l'url comme cela :
(tout sur la meme ligne)
http://test:test@members.dyndns.org/
nic/update?system=dyndns&hostname=test.dyndns.org&
myip=XX.XX.XX.XX&wildcard=OFF&mx=&backmx=NO&offline=NO
et en faisant un fopen de cette url cela fonctionne correctement.
Je vais tout de meme voir du côté de CURL pour essayer de faire un
truc un peu plus "clean".
confronté au même genre de pbs, je les ais résolu en utilisant l'extension curl: http://fr2.php.net/manual/fr/ref.curl.php
J'avais songé passé par la. J'ai fait un test à l'arrache qui n'a pas fonctionné. Va falloir que je plonge plus dans la doc pour re-tester.
En tout cas en construisant l'url comme cela : (tout sur la meme ligne) http://test:/ nic/update?system=dyndns&hostname=test.dyndns.org& myip=XX.XX.XX.XX&wildcard=OFF&mx=&backmx=NO&offline=NO
et en faisant un fopen de cette url cela fonctionne correctement.
Je vais tout de meme voir du côté de CURL pour essayer de faire un truc un peu plus "clean".