我有 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 移动 IOS
我有 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 移动 IOS
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: