0

我想我大部分时间都在努力解决这个问题,因为我不知道要搜索什么。我想制作一个允许用户输入他们的礼品卡号码并使用该号码登录该网站的应用程序:

https://www.getmybalance.com

如果不控制网站,我不知道如何做到这一点。甚至有可能这样做吗?我不想使用 UIWebView 来显示页面。

4

2 回答 2

1

看起来您需要以编程方式在 https 中 POST 到服务器,然后您将返回一些 DOM 文档、JSON 或一些奇怪的东西,然后您对其进行解析。

使用 iOS 发布非常简单,请查看 LRResty https://github.com/lukeredpath/LRResty或类似内容。

当你取回数据时,首先要做的是用 NSLog 来查看它。然后,如果数据是 HTML,您将需要涉足 HTML 以获得结果。

这种方法的问题在于托管页面的公司可能随时更改其 API。你应该要求他们要么永远不要改变任何东西(如果他们想改变,然后创建一个新页面并让旧页面保持工作,或者更好的是,支持一个简单的 REST API - 这也将帮助他们构建漂亮的 AJAX/html5 网站在将来。)。

于 2012-05-22T20:30:49.197 回答
1

您应该阅读 NSURLConnection,您将不得不执行一个发布请求才能登录。然后您将不得不通过解析返回的页面来确定您是否成功登录。NSURLConnection 将处理存储站点返回的登录 cookie。登录后,您可能需要执行另一个发布请求来查询他们的系统。再一次,您可能不得不从返回的 HTML 页面中解析出结果。

NSURLConnection: https ://developer.apple.com/library/mac/#documentation/Cocoa/Reference/Foundation/Classes/nsurlconnection_Class/Reference/Reference.html

NSURLConnection 委托协议: https ://developer.apple.com/library/mac/#documentation/Foundation/Reference/NSURLConnectionDelegate_Protocol/Reference/Reference.html#//apple_ref/occ/intf/NSURLConnectionDelegate

当然,这一切都假设该网站没有您可以使用的 API。

于 2012-05-22T20:23:32.537 回答