2011-12-10 170 views
0

我一直在尋找幫助與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

用C#/ .NET屏幕抓取有很多問題(請參閱右下角的相關側欄)。這些問題的答案也應該主要適用於WP7。如果您遇到了某個特定的問題,那麼您需要在您的帖子中提供有關此問題的更多詳細信息。 – Jason

+0

您應該發佈您的編輯作爲答案,並接受它與在問題中提出答案。 – LarsTech

回答

0

而不是使用網站的UI和屏幕抓取結果,我會創建一個HTTP請求類似於或相同的網頁生成的請求(這可能是一個POST請求包含表格數據)。然後,我會將此發送到Web服務器,並使用類似HtmlAgilityPack來解析響應中所需的數據。

實際上,該網站向您展示了一個使用HTML作爲消息格式的HTTP API。直接使用它,而不是使用客戶端渲染這些消息,最終這些消息是爲用戶交互而非代碼交互而設計的。

+0

謝謝@Adam Ralph,我現在就放棄它,正如你發佈的那樣,我剛剛發現一些信息讓我走上了這條路,但Htmlagilitypack看起來像是我正在尋找的東西 –

0

據我知道這是不可能的/不允許訪問在Windows Phone上運行其他應用程序。

所以這是不可能的,除非其他應用程序的發佈者連接到您的網站/ web服務。

注意:當Windows Phone 8推出並且與Windows 8相同或相似時,可能會有合同可用於允許像這樣的應用程序連線。 (這只是猜測)