2012-05-02 7 views
1

社内ネットワークのプリンタからインク、空きページ(紙)などに関するデータを取得したいと考えています。これらのプリンタ(主にMinolta)はそれぞれwwwインターフェースを持っていますので、私のプログラムでブラウザプロセスを作成し、 "http://192.168.X.YY/data.htm"というアドレスに移動してこれらのデータを取得できます。すべてのページコードをダウンロードし、そこからデータを取得してください。このプロセスなしでも可能ですか?これらのデータが各IP/data.htmの下にあることがわかっている場合は、この情報をソケット、ftpなどの異なる方法でダウンロードすることができます。.NETはwwwインターフェイスを持つプリンタからデータを取得します

一般的には、明らかにデータベースへのアクセス)、どのようにこのデータを取得しますか?

答えて

1

プリンタの外見から、RESTベースのサービスが提供されています。 libcurlを使用して、RESTベースのAPI呼び出しを行うことができます。 (これはほとんどのウェブサイトにも当てはまります!)

+1

OPは具体的に.NETを2回言及していますので、[HttpWebRequest](http://msdn.microsoft.com/en-us/library/system.net.httpwebrequest.aspx)または類似のものがより適切でしょう。 – ildjarn

+0

真。彼はまたC++について言及しています。だから私はlibcurlにも.NETバインディングを提供しました。 BTW:このプリンタ関連のデータフェッチは、私たちがかなり定期的に行うもので、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

関連する問題