Bonjour,
Voilà, j'ai développé il y a quelque temps un petit script perl qui permet d'aller récupérer automatiquement des fichiers sur un site internet en https avec authentification et au travers d'un proxy (pourquoi faire simple quand on peut faire compliqué!)
Hors, depuis quelques temps, le script ne fonctionne plus, il me renvoie "erreur 400, bad request"
Mes logind/mdp sont corrects, quand je vais manuellement sur le site, j'arrive à récupérer les fichiers.
De même, quand je tapes dans l'url la requête que j'utilise, cela focntionne.
J'ai fait un test: en changeant mon login, j'ai la même erreur à la même vitesse, j'en déduis donc que mon erreur se situe avant l'authentification sur le site.
J'ai cherché un peu, mais je ne vois pas où se situe mon erreur...
Voici mon code:
Je pensais, au dbéut, que le soucis venait du header de ma requête, mais il semblerait que mon erreur se situe avant cela.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22 my $HTTPProxy = 'http://monProxy:8080'; my $NetLoc = 'www.monSite.com'; my $url = "https://$NetLoc/portal/Downloads/"; my @credentials = ("$NetLoc:443", '', "user" , 'motDePasse'); my $file = monFichier; $ENV{HTTPS_PROXY} = $HTTPProxy; my $ua; if (defined @credentials ) { $ua = new LWP::UserAgent(keep_alive=>1); $ua->credentials(@credentials); } else { $ua = new LWP::UserAgent; } $ua->proxy(['http', 'ftp', 'https'] => $HTTPProxy); my $req = HTTP::Request->new(GET => $url.$file); my $res = $ua->request($req,$workingdirectory.$file);
Est-possible que l'erreur vienne du fait que ma requête soit HTTP:: et pas HTTPS?
Est-ce que dans mes crédentials je dois mettre un nom de domaine particulier? J'ai testé en mettant celui du site, mais... Cela ne change rien.
Si quelque a une idée, solution, proposition,... Je suis preneur!
Merci d'avance
Partager