Delphi xe4 - 如何通过HTTP访问Foursquare API

时间:2013-05-08 22:37:26

标签: ios delphi mobile firemonkey delphi-xe4

我有delphi xe4,我需要知道如何通过HTTP访问Foursquare API https://api.foursquare.com/v2/venues/explore?ll=-23,-47&venuePhotos=1&section=food&client_id=Xxxxxxxxxx&client_secret=yyyyyyyyy&v=20120321

到Firemonkey Mobile IOS

1 个答案:

答案 0 :(得分:3)

Indy 10.6附带XE4,可在iOS上使用。您可以使用Indy的TIdHTTP组件,例如:

var
  Response: String;

Response := IdHTTP1.Get('https://api.foursquare.com/v2/venues/explore?ll=-23,-47&venuePhotos=1&section=food&client_id=Xxxxxxxxxx&client_secret=yyyyyyyyy&v=20120321');

因为您想在iOS上使用HTTPS,这会使情况复杂化。通常,您可以在发送请求之前将TIdSSLIOHandlerSocketOpenSSL组件分配给TIdHTTP.IOHandler属性。但Indy通常使用OpenSSL动态库,iOS不允许在应用程序中使用dynlibs,因此必须静态地将OpenSSL编译到您的应用程序中。您必须自己编译OpenSSL的静态版本(Embarcadero无法发送)并将其添加到您的iOS项目中,然后将IdSSLOpenSSLHeaders_static单元添加到您的uses子句中。

如果您不想使用Indy,则必须使用Apple自己的HTTP(S)API:

Making HTTP and HTTPS Requests