1

我有 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

4

1 回答 1

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:

发出 HTTP 和 HTTPS 请求

于 2013-05-09T01:36:49.953 回答