Bonjour tout le monde,
Me revoilà, un peu perdu, avec un nouveau problème tout simple j'en suis sur.
Je dois effectuer un POST HTTP avec Indy pour chaque Item d'un ListBox.
Pour le moment, mon code donne ça :
Ça fonctionne pour le premier Item mais ça ne passe pas au suivant...
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 for Index := 0 to Form1.ListBox1.Items.Count -1 do begin http := TIDHttp.Create(nil); http.HandleRedirects := True; http.ReadTimeout := 5000; param := TStringList.create; param.Clear; param.Add('login='+Form1.Edit1.Text); param.Add('password='+Form1.Edit2.Text); param.Add('post=submit'); valid := True; url := ListBox1.Items[Index]; try Form1.RichEdit1.Lines.Add(AnsiReplaceStr(Utf8ToAnsi(Form1.IdHttp1.Post, #10, #13#10)+' : SUCCESS'); except on E: Exception do Form1.RichEdit1.Lines.Add(AnsiReplaceStr(Utf8ToAnsi(Form1.IdHttp1.Post, #10, #13#10)+' : FAILED'); end; end;
Ça me semble assez basique alors j'ai du louper quelque chose.
Comme c'est la première fois que j'utilise Indy et POST (...) je me demande si le problème ne vient pas d'une erreur serveur qui stop le process... (?)
Car à chaque fois que j'essai de faire un POST (in ou hors de la boucle) j'obtiens une 'erreur' 302 FOUND, alors que le POST s'est pourtant correctement effectué.
Et c'est pas terminé (oui, désolé) : peu importe la réponse du serveur, aucune ligne SUCCESS ou FAILED n'est ajoutée au RichEdit1...
Mon cerveau à trop chauffé aujourd'hui, j'ai besoin d'une pause et d'un peu d'aide
Mille mercis par avance !
Beny
Partager