首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >我如何实现这个应用程序,尽管它的局限性?

我如何实现这个应用程序,尽管它的局限性?
EN

Stack Overflow用户
提问于 2015-07-03 07:49:25
回答 3查看 147关注 0票数 0

目标:

大型学校的霍尔显示器可以扫描学生的ID,并且很容易在PowerSchool中输入延迟的信息。

限制:

由于法律限制,-I无法访问PowerSchool

-无法将ID作为参数传递到URL中,因为数据库ID与学生ID不同。我可以获得一个列表,但随着新学生的获得和其他一切,这将很难维护。

我的想法:

创建一个应用程序,扫描条形码,将学生ID复制到剪贴板,立即打开一个WebView,让用户登录,他们可以点击和保持,将ID粘贴到用户查找字段中。

然而,这是非常低效的,也是最后的手段。考虑到我的极端限制,有什么办法来改善这一点吗?

提前谢了。

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2015-07-28 19:25:12

拉一个条形码相当简单。我认为打开webview可能是正确的,但根据URL结构,您甚至可以修改html主体,以便将扫描的条形码自动输入到必要的字段中。

我能想到的3种选择:

1)您正在加载的网页,它是否还记得以前使用过的cookie登录?如果它使用一个自动填充字段,则在加载webview之前修改保存的cookie。

2)如果没有使用cookie,查看页面加载完成后是否可以填充表单

3)这是最雄心勃勃的。如果您知道表单使用的结构,并且不需要学生输入密码,请发送表单数据,而不是打开登录页。下面是使用Paypal手动填充和发送表单的示例:

代码语言:javascript
复制
NSMutableURLRequest *urlRequest = [[NSMutableURLRequest alloc] initWithURL:[NSURL URLWithString:@"https://mobile.paypal.com/cgi-bin/webscr"]];

NSString *body = [NSString stringWithFormat:@"cmd=_xclick&business=paypal@example.com&image_url=https://example.com/logo.jpg&no_shipping=2&no_note=1&amount=%1.2f&currency_code=USD&notify_url=https://example.com/paypalipn.cfm&return=http://example.com/", [self.orderAmount floatValue]];

  [urlRequest setHTTPMethod:@"POST"];
  [urlRequest setHTTPBody:[body dataUsingEncoding:NSUTF8StringEncoding]];

  self.webView.delegate = self;
  [self.webView loadRequest:urlRequest];

当然,这意味着您必须在页面中剖析标志,并提取表单URL和数据格式,但这将有助于最终使霍尔监视器更容易使用。

票数 2
EN

Stack Overflow用户

发布于 2015-07-28 18:55:46

如果没有实际访问您想要使用的数据库的权限,并且ID的不同,除了使用条形码扫描仪并将其复制到剪贴板上的建议之外,似乎没有其他方法了。

票数 1
EN

Stack Overflow用户

发布于 2015-07-28 19:05:07

您的应用程序应该能够模仿用户在浏览器中所做的事情。您可能需要捕获来自您的手机的web请求和从PowerSchool服务器发送的响应,以准确分析登录、搜索和报告过程中发生的事情。

诚然,这将是一个非常“脆弱”的解决方案,可能会受到服务器意外更改引起的问题的影响。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/31201429

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档