2012-05-02 46 views
1

我想從公司網絡中的打印機獲取有關墨水,空閒頁(紙)等的數據。這些打印機(主要是美能達)都有一個www界面,所以我可以通過在我的程序中創建瀏覽器進程來獲取這些數據,並指示它轉到地址「http://192.168.X.YY/data.htm」,下載所有頁面代碼並從中檢索數據。沒有這個過程,這可能嗎?如果我知道這些數據是在每個IP/data.htm下,我可以使用這些信息以不同方式下載數據:socket,ftp等。.NET從具有www接口的打印機獲取數據

一般情況:如果網站上有一些數據數據庫訪問顯然),你如何檢索這些數據?

回答

1

從外觀上看,您的打印機提供基於REST的服務。您可以使用libcurl來創建基於REST的API調用。 (這也適用於大多數網站!)

+1

OP特意提到.NET兩次,所以我認爲[HttpWebRequest](http://msdn.microsoft.com/en-us/library/system.net.httpwebrequest.aspx)或類似的東西會更合適。 – ildjarn

+0

是的。他還提到C++,所以我提供了libcurl,它也具有.NET綁定。順便說一句:這個打印機相關的數據獲取是我們經常進行的工作,libcurl + C++在分發時可以爲您節省很多麻煩。 – dirkgently

+1

我懷疑這是一個天真的嘗試說C++/CLI雖然。 : - ]很難說沒有代碼的任何一種方式... – ildjarn

1

它聽起來不像它從您提供的描述實現REST接口。

這聽起來像你的想法是從HTML頁面刮取數據。雖然它有點脆弱(例如,打印機固件升級可能會中斷),但這也很好。

無論如何,你用.NET標記了這個問題,所以如果你想使用.NET方法,你可能需要考慮創建一個WebClient並解析從DownloadString方法返回的結果數據。

+0

如果您可以找到REST-ful接口,它會讓您的生活更輕鬆 – jglouie

+0

是的,謝謝,我忘記了沒有必要在.NET.WebClient創建時調用瀏覽器,然後是downloadData或downloadString。我知道該方法的缺點,您是否認爲存在另一種與這些數據交互的方式?在我看來,如果這些打印機以某種不同的方式訪問數據,這將是可取的。 – 4pie0

+1

我不確定打印機API。如果他們沒有/沒有公開一個很好的REST接口 – jglouie

相關問題