Przerywanie pętli while

0

Witam,

Mam taką pętle while

while ListBox1.Items.Count > 0 do
begin
 ...........
 ...........
end;

W środku ta pętla pobiera stronę/źródło strony za pomocą TidHttp np. IdHttp.Get('http://4programmers.net/Forum');
wszystko okej ale ta pętla przerywa się jak napotka na jakiś adres który nie działa wyskakuje wtedy: HTTP/1.1 400 Bad Request

Jak zrobić żeby omijało ten błąd i dalej kontynuowało wykonywanie pętli?

0

poczytaj o try..except..end;

0

jak bedziesz program odapal z delphi to komunikat czasem moze sie dalej wyswietlac mimo tego ze bedzie w bloku try except, program powinienes testowac albo odpalajac recznie albo w opcjach ustawic (w delphi 7 i chyba 6):
Tools->Debugger Options, odznaczyc w lewym dolnym rogu integrated debugging (ale ogolnie radze miec zostawiona ta opcje wlaczona)

0

Wielkie dzięki krwq !

A pytanie z innej beczki jaki jest najszybszy sposób pobierania kodu źródłowego stron ?

0

Indy oraz TIdHttp i metoda Get. Albo Synapse i THttpSend oraz metoda HttpMEthod('GET', Url); bo nie wiem co masz na myśli. Prędkośc zależy od Twojego łącza oraz szybkości serwera, z którego pobierasz.W Indy stronę można pobrać do stringa lub Streama. W Synapse do zmiennej Document typu TMemoryStream, a później można to zapisać przez Write do stringa.

0

Do niektórych stron TidHttp zwraca mi 302 Found o co w tym chodzi i jak to naprawić?

0

Kod 302 informuje o tym, że strona przekierowuje na inną. W Synapse przekierowanie trzeba obsłużyć samemu wyciągając z nagłówków link do nowej strony. Pod IdHttp, z tego co się orientuje, wystarczy ustawić zmienną HandleRedirects na True.

0

jak będziesz wysyłał różne rzeczy metodą POST to pamiętaj żeby odpowiedni ContentType ustawic w IdHTTP (multipart/form-data), w innym wypadku beda problemy

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