HTTP Indy Post Delphi Socket Error # 10054

2011-10-13 19:48
0

Witam!
Po uzyskaniu danych do wysłania metodą POST przy samym wysyłaniu wyskakuje błąd.

Input := TStringStream.Create('');
Input.WriteString(Format('email=%s&redirect=/&password=%s', [Login.Text, Passy.Text]));
Forum.Post('www.wupload.com/account/login', Input, Output);

Forum to oczywiście TIdHTTP z uzupełnionymi rubrykami request(Accept, AcceptCharSet, AcceptEncoding, AcceptLanguage, CacheControl, Connection, ContentType, HOST, Pragma, Referer, UserAgent), a login i passy to TEdit
Błąd powstaje w Forum.Post. Z wiresharka wiem, że dane nawet nie są wysyłane, a do strumienia output nic nie trafia. Nr błędu: socket error # 10054 Connection reset by peer.

user image

FAQ zaleca wciśnięcie [F9] i kontynuowanie pracy, ale wtedy wykonywane są instrukcje zawarte po except, a wysyłanie danych nie jest wznawiane.

Wszystko według artykułu HTTP ,a według mnie INDY zostało zainstalowane poprawnie. Co jest nie tak?

Czy potrzebuję jakoś najpierw połączyć się z serwerem czy coś innego zrobić?

edytowany 4x, ostatnio: entrick, 2011-10-13 20:02

Pozostało 580 znaków

2011-10-13 22:56
1

Spróbuj wpisać http:// przed adresem, może pomoże.

Forum.Post(http://'www.wupload.com/account/login', Input, Output);
edytowany 1x, ostatnio: krzysnick, 2011-10-13 22:58

Pozostało 580 znaków

2011-10-13 23:22
1

A ja proponuje spróbować pod Synapse. Często ludzie mają problem w indy z wysłaniem danych POSTem, a pod Synapse okazuje się później, że wszystko zaczyna działać ok. Tylko trzeba myśleć co się robi, a podstawy można poznać z mojego artykułu pod adresem: Obsługa protokołu HTTP przy użyciu pakietu Synapse


Pozostało 580 znaków

2011-10-14 10:21
0
krzysnick napisał(a)

Spróbuj wpisać http:// przed adresem, może pomoże.

Forum.Post(http://'www.wupload.com/account/login', Input, Output);

Teraz wywala inny błąd:
user image

Błąd 302: "Znaleziono – żądany zasób jest chwilowo dostępny pod innym adresem a przyszłe odwołania do zasobu powinny być kierowane pod adres pierwotny"

Hmm... Skąd zdobyć adres na który jestem przekierowywany?

EDIT. 3. Synapse działa. Dzięki! Jeśli ktoś jednak zna rozwiązanie pod INDY to proszę o odpowiedź

edytowany 4x, ostatnio: entrick, 2011-10-14 12:10

Pozostało 580 znaków

2011-10-14 21:43

Ustaw HandlyRedirects na True w komponencie IdHttp.

Pozostało 580 znaków

Liczba odpowiedzi na stronę

1 użytkowników online, w tym zalogowanych: 0, gości: 1, botów: 0