Vraag & Antwoord

Programmeren

[Delphi]Website status code [opgelost]

Hallo, Ik probeer de status code van een website op te vragen maar dit gaat half goed. ik gebruik deze code: [code:1:15640eaace]unit Unit1; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, IdBaseComponent, IdComponent, IdTCPConnection, IdTCPClient, IdHTTP, IdException; type TForm1 = class(TForm) IdHTTP1: TIdHTTP; Button1: TButton; procedure Button1Click(Sender: TObject); private { Private declarations } public { Public declarations } end; var Form1: TForm1; implementation {$R *.dfm} procedure TForm1.Button1Click(Sender: TObject); begin try idhttp1.head('http://www.eenwebsitedienieteentimeoutgeeft.nl'); except on eidhttpprotocolexception do begin showmessage(inttostr(idhttp1.ResponseCode)); end; on eidreadtimeout do begin showmessage(inttostr(idhttp1.ResponseCode)); end; end; end; end. [/code:1:15640eaace] Nu is het probleem als de website een timeout heeft krijg ik een fout melding:[code:1:15640eaace]Socket Error # 10060 Connection timed out.[/code:1:15640eaace] Ok leuk dat i ziet dat i een time out heeft maar ik wil alleen de responce code hebben. En door dat het programma die melding als een fout ziet krijg ik geen code... weet iemand hoe ik die foutmelding weg kan krijgen? Oplossing: [code:1:15640eaace]procedure TForm1.Button1Click(Sender: TObject); var S: string; begin try S := IdHTTP1.Get(Edit1.Text); Memo1.Text := inttostr(IdHTTP1.ResponseCode) ; IdHTTP1.Request.LastModified := IdHTTP1.Response.LastModified; except on E: EIdHTTPProtocolException do Memo1.Text := inttostr(IdHTTP1.ResponseCode) ; on E: Exception do begin Memo1.Text := inttostr(IdHTTP1.ResponseCode) ; end; end; end;[/code:1:15640eaace] Als nu de ResponseCode -1 is heeft er een TimeOut plaats gevonden. Delphi geeft dan nog wel een fout melding maar als het programma op zich zelf draait komt er geen fout melding.