我有delphi xe4,我需要知道如何通过HTTP访问Foursquare API https://api.foursquare.com/v2/venues/explore?ll=-23,-47&venuePhotos=1§ion=food&client_id=Xxxxxxxxxx&client_secret=yyyyyyyyy&v=20120321
到Firemonkey Mobile IOS
答案 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§ion=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: