我一直在寻找有关Windows Phone 7屏幕抓取的帮助,但无法找到任何与我想要的相关的帮助。我的应用程序的基础是在设备的输入框中键入一个电话号码 - >将其传递到网站的搜索框 - >搜索网站的SQL数据库 - >将原始结果传回手机并将其显示在表格中。
我获得网站所有者的许可,可以将他的在线数据库用于此目的。
这是可能的,如果是的话,我将如何做到这一点?
提前致谢!
编辑:经过一些额外的研究后,我发现使用POST方法,我可以将搜索框所需的数据发送到网站上,结果已成功找到,但我不确定如何将结果显示在申请本身?我知道数据是通过WireShark中查看的数据包成功发送的。再次感谢。POST代码:
InitializeComponent();
Dictionary<string, object> parameters = new Dictionary<string, object>();
parameters.Add("search_name", "Google"); //Test Search
parameters.Add("submit", "Search");
PostClient proxy = new PostClient(parameters);
proxy.DownloadStringCompleted += (sender, e) =>
{
if (e.Error == null)
{
//Process the result...
data = e.Result;
}
};
proxy.DownloadStringAsync(new Uri("http://www.SITE.com/search.php", UriKind.Absolute));
webBrowser1.Navigate(new Uri(, UriKind.Absolute));`
答案 0 :(得分:0)
据我所知,不可能/允许访问Windows Phone上运行的其他应用程序。
除非其他应用程序的发布者连接到您的网站/网络服务,否则这是不可能的。
注意:当Windows Phone 8问世并且它与Windows 8相同或类似时,可能会有合同允许连接这样的应用程序。 (这只是猜测)
答案 1 :(得分:0)
我不会使用网站的UI和屏幕抓取结果,而是创建与网页生成的请求类似或相同的HTTP请求(这可能是包含表单数据的POST请求)。然后我会将其发送到Web服务器并使用类似HtmlAgilityPack的内容来解析响应中所需的数据。
实际上,该网站使用HTML作为邮件格式为您提供HTTP API。直接使用它,而不是使用这些消息的客户端呈现,这些消息最终是为用户交互而不是代码交互而设计的。