Salut tout le monde,
je suis en train d'apprendre le perl et j'avoue avoir quelques soucis.
Voici mon morceau de code qui me pose problème:
en gros, je lance mon programme depuis la ligne de commande:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 my $msg = $ARGV[1]; my $response = $browser->post($url, 'CobYouthSMSSenden:txtMessage' => $msg']);
Le problème est qu'il m'encode de la manière suivante:
Code : Sélectionner tout - Visualiser dans une fenêtre à part ./blabla ééé
Le problème c'est que le 'é' est mal encodé, il faudrait que ça soit %C3%A9 au lieu de %E9.
Code : Sélectionner tout - Visualiser dans une fenêtre à part CobYouthSMSSenden%3AtxtMessage=%E9%E9%E9
J'ai un peu tout essayé en passant par les encode_utf8, etc, mais j'ai vu que ça donnait plus ou moins le résultat escompté:
Seulement, maintenant c'est le caractère '%' qui se fait échapper lors du POST . L'idéal serait que le POST n'échappe pas les charactères spéciaux.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 my $msg = uri_escape_utf8($ARGV[1]);
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 CobYouthSMSSenden%3AtxtMessage=%25C3%25A9%25C3%25A9%25C3%25A9
Une solution ?
Merci
Partager