2013-12-10 88 views
0

我想为我的女儿写一个小的Android应用程序。我们的目标是扫描一本书的条码,并将ISBN号码传递给此网站:http://www.arbookfind.com/default.aspx。结果将显示该书是否为Accelerated Reader程序的一部分,以及该书的价值。我试图自动化需要将ISBN输入到搜索字段的部分。有没有办法通过url将变量传递给aspx文件?

为了简单起见,因为我不是程序员,所以我正在使用MIT的App Inventor 2.我现在可以扫描并获取ISBN,但我需要知道如何格式化URL到网站,以便允许我把ISBN传递给它的搜索页面。

是否可以通过类似于index.php的URL发送变量?myvar = testing & someothervar = somethingelse?我试过了,但也许我没有使用aspx的正确变量名称或格式。是否有一种简单的方法可以查看我的浏览器中aspx显示页面中的变量名称?

编辑为了澄清,我并非试图抓取数据,并避免在我用来生成结果的网站上展示广告。我想将ISBN号码传递给页面,并让它搜索并在手机浏览器中显示结果页面。对于填充搜索字段的方法,我也很好,如果可以更容易地完成搜索,用户将不得不点击搜索按钮。

回答

1

我建议放弃这条路线,因为这个网站的所有者很可能不希望你传递一个查询字符串到他们的网站,而是他们很可能会指向你的应用程序编程接口(API)他们提供,以便您的程序可以连接到该服务(免费或付费,取决于公司),然后您可以通过在请求中提供ISBN来请求书籍的详细信息。

没有.aspx页面的发现机制,就像Web服务找到要传递的事物的名称一样。即使你知道查询字符串的名称是否可以传递给ISBN,您仍然有可能冒着被更改的实现和“应用程序中断”的风险。虽然Web服务API也是如此,但由于API是网站提供商希望您使用的路线,而不是屏幕抓图,因此它们通常会通过文档向用户通知其重大更改或更新版本的API。

0

从我能看到的页面不接受他们的搜索字段的URL变量的方式google.com和其他。该页面是通过某种内容管理系统(CMS)生成的,它非常依赖JavaScript来使事情顺利进行。我试着在那里做一个正常的搜索,并且你有两个问题需要扭动。

首先,页面将您重定向到一个页面,您可以选择是否您的学生,家长等。它似乎依赖于某些会话cookie来记住设置,但它超时很快。其次,表单使用JavaScript来触发搜索,并且它似乎是使用AJAX完成的,AJAX是一种使用JavaScript触发服务器上的操作并显示结果的方法,而无需再次实际加载页面。您可能能够获得所使用的JavaScript代码,并对其进行重新设计,并使用您的应用程序中的HTTP POST和/或GET调用该代码,但这是一条棘手的路径,很可能不被公司,因为你将从他们的网站加载数据,而不会呈现他们的广告,从而花费他们的钱。

相关问题