替代为iPhone应用程序构建适当的Web服务以供使用

Rog*_*Rog 4 iphone web-services html-parsing

我正在为客户开发一个iPhone应用程序.除此之外,该应用程序将允许用户浏览和下订单特定(有形)产品.

客户有一个目前做类似事情的网站,由于预算有限以及网站运行在他们无法控制的第三方专有平台上,我们正在研究构建网络服务的可能替代方案.

在网站上,用户注册和身份验证以及订单放置是通过安全HTTP的POST请求完成的.响应始终是格式化的HTML页面,其中包含指示请求是否成功的字符串,以及是否存在错误,错误是什么等.

因此,如果我可以在手机上复制POST请求,并解析HTML响应以读取每个请求的结果,您认为这是构建Web服务来处理此问题的可接受的替代方法吗?

除了页面更改的可能性(我们可以管理)以及我可能必须下载并解析相对较大的HTML响应这一事实之外,此解决方案还有其他任何缺点吗?还有什么我可能会遗漏的吗?

非常感谢你的想法.干杯,罗格

Ale*_*nte 12

您可以创建一个与客户端服务器通信的中间服务器,并在其上公开一些REST Web服务,其中包含将由iPhone应用程序使用的json(小开销和易于处理)响应.

  • 此外,一旦你发布iOS应用程序,它将永远存在,用户不必更新,即使你在可能的协议更改后更新客户端...不要认为它就像一个网页,一切都部署后刷新. ..(!!!) (3认同)

小智 6

因此,您将解析HTML并在第三方服务器上制定POST,并祈祷它们甚至没有重命名表单字段.

您的问题分为两部分:

  1. 我认为奇迹是一种可接受的解决方案吗?我不.
  2. 我是否认为除了需要奇迹之外,还有其他缺点吗?没有我能想到的.

你没有问,但这是一个可怕的行动方案.两个建议.

  1. 我假设第三方平台的提供商不想通过提供API来启用第三方应用程序.他们有一个非常好的商业原因,这是它促进平台锁定.联系他们的支持部门并与他们进行交谈.

  2. 您必须通过构建中间Web服务来销售客户端.为了至少尝试减轻此第三方平台上的更改可能对您的应用造成的损害,我建议您构建并运行一个代理,该代理接收来自您的应用程序的请求,并将它们代理到第三方平台.您应该在此客户端 - 服务器协议中构建一种方法,用于返回"我们处于维护模式,离开"消息到应用程序,在第三方服务器更改破坏您的应用程序的某个不可避免的日子(​​他们交换了计费和运输)例如,地址页面,你必须通过Apple匆忙通过更新来处理它.

代理可以用更灵活,更易于编写的东西编写,例如PHP,Python,Perl或Ruby.它可以在微实例中托管在亚马逊.

ps这个问题被不恰当地标记为Objective C.