当前位置:首页 > Windows程序 > 正文

Delphi使用JSON解析调用淘宝IP地址库REST API 示例

2021-03-26 Windows程序

技术分享

淘宝IP地址库:,,里面有REST API 说明。

Delphi XE 调试通过,关键代码如下:

[delphi] view plaincopy

技术分享

技术分享

 

var  

  IdHTTP: TIdHTTP;  

  RequestURL: string;  

  ResponseStream: TStringStream;  

  JO, JData: TJSONObject;  

begin  

  IdHTTP := TIdHTTP.Create(nil);  

  IdHTTP.ReadTimeout := 0;  

  IdHTTP.AllowCookies := True;  

  IdHTTP.ProxyParams.BasicAuthentication := False;  

  IdHTTP.ProxyParams.ProxyPort := 0;  

  IdHTTP.Request.ContentLength := -1;  

  IdHTTP.Request.ContentRangeEnd := 0;  

  IdHTTP.Request.ContentRangeStart := 0;  

  IdHTTP.Request.ContentType := ‘application/x-www-form-urlencoded‘;  

  IdHTTP.Request.Accept := ‘text/html, */*‘;  

  IdHTTP.Request.BasicAuthentication := False;  

  IdHTTP.Request.UserAgent := ‘Mozilla/3.0 (compatible; Indy Library)‘;  

  IdHTTP.HTTPOptions := [hoForceEncodeParams];  

  RequestURL := ‘?ip=‘ + edtIP.Text;  

  ResponseStream := TStringStream.Create;  

  IdHTTP.Get(RequestURL, ResponseStream);  

  IdHTTP.Free;  

  ResponseStream.Position := 0;  

  Memo1.Text := ResponseStream.DataString;  

  ResponseStream.Position := 0;  

  JO := TJSONObject.ParseJSONValue(ResponseStream.DataString) as TJSONObject;  

  JData := JO.Get(‘data‘).JsonValue as TJSONObject;  

  leISP.Text := (JData.Get(‘isp‘).JsonValue as TJSONString).Value;  

  leCountry.Text := (JData.Get(‘country‘).JsonValue as TJSONString).Value;  

  leArea.Text := (JData.Get(‘area‘).JsonValue as TJSONString).Value;  

  leRegion.Text := (JData.Get(‘region‘).JsonValue as TJSONString).Value;  

  leCity.Text := (JData.Get(‘city‘).JsonValue as TJSONString).Value;  

  JO.Free;  

  ResponseStream.Free;  

end;  

源代码下载:

 

Delphi使用JSON解析调用淘宝IP地址库REST API 示例

温馨提示: 本文由Jm博客推荐,转载请保留链接: https://www.jmwww.net/file/67678.html