Marc-br Aprendiz

Registrado: Terça-Feira, 3 de Julho de 2007 Mensagens: 141 Localização: Franca-SP
|
Enviada: Qui Fev 20, 2020 10:57 am Assunto: Delphi - tem como silenciar erro ??? |
|
|
Estou montando uma rotina que busca o Country Name de um IP.
Mas tem hora que o componente idHttp, da erro na tentativa de buscar o endereço ip.
procedure GetGeoLoc(const IpAddress: string; var GeoInfo: TGeoInfo);
var
lHTTP : TIdHTTP;
lStream: TStringStream;
XMLDoc : OleVariant;
ANode : OleVariant;
endereco: string;
CountryName: string;
begin
lHTTP := TIdHTTP.Create(nil);
lStream := TStringStream.Create;
try
endereco := 'http://ip-api.com/xml/' + IpAddress;
try
lHTTP.Get(endereco, lStream); //get the request
except
end;
lStream.Seek(0,0);
XMLDoc := CreateOleObject('Msxml2.DOMDocument.6.0');
XMLDoc.async := false;
XMLDoc.LoadXML(lStream.ReadString(lStream.Size));
XMLDoc.setProperty('SelectionLanguage','XPath');//use XPath to parse the xml result
ANode:=XMLDoc.selectSingleNode('/query/country');
if not VarIsNull(ANode) then CountryName := ANode.Text;
finally
lHTTP.Free;
lStream.Free;
end;
end;
Por exemplo.
O IP é 0.0.0.0
endereco := 'http://ip-api.com/xml/' + IpAddress;
try
lHTTP.Get(endereco, lStream); //get the request
except
end;
Entao o endereço ficou = http://ip-api.com/xml/0.0.0.0
Na hora que ele dispara
lHTTP.Get('http://ip-api.com/xml/0.0.0.0', lStream);
da erro, e eu queria silenciar esse erro, nao aparecer msg nenhuma
tem como fazer isso ????
*obs: nao é apenas com 0.0.0.0 que da erro, mas com outros IPS tb. |
|