VB6でWinsockを使って通信するには?

解決


KUROさん  2005-07-10 03:59:33  No: 90907

プリンタのLANボードなどに、ブラウザでIPアドレスを入力すると、ボードの設定
画面が表示される物があると思いますが、これをVB6のWinsockを使ってやりたい
と思ってます。実際には、ポートの80番に接続して、データを送信、データの受信を行い、受信データのチェックを行いたいのですが、データの送信で何を送信すれ
ばいいのかわかりません。RFCのHTTPを読んでみたのですが、まったく理解できませんでした。どうすればうまくいくのかご存知の方がいらっしゃいましたらご教授願います。
また、InetやWebBrowserなども使用してみましたが、なにぶん接続したい機器が
ブラウザで見たときにログイン画面が表示されるため、正しいデータが受信できません。


3−t  2005-07-11 08:32:52  No: 90908

通信内容の仕様を理解しなければ解決しないでしょうね。
機器の仕様書に記載があるなら、それを参考に、なければ通信内容を
モニタして同じようにしてみるとか。
まあ、普通その部分はメーカーも公開しないでしょうから
自分で解析するしかないでしょうね。


魔界の仮面弁士  2005-07-11 09:23:38  No: 90909

ボード側に、簡易Webサーバ機能が実装されているのでしょうね。

HTTPベースの通信であれば、InetSpy等のツールを使う事で、
どのような情報が送受信されているのかは、すぐに分かりますので、
あとはそれを、Inet/WebBrowser/XMHTTP等で再現してやれば良いのでは。


いな  2005-07-11 20:01:44  No: 90910

>まあ、普通その部分はメーカーも公開しないでしょうから

ん〜?
正規の開発ならば開発時に、
シーケンスIF仕様書は渡してもらえると思うんだが・・・。


KUROさん  2005-07-12 05:00:23  No: 90911

皆さんありがとうございます。
なんとなく解決しました。
VB6のWINSOCKで通常のTCPと同様に、ポートを80番、HOSTにIPアドレス
をいれて、CONNECTで "GET / HTTP/1.0" & vbCrLfをSENDすると
データが受信されました。
受信されたデータといっても、ブラウザでログイン画面が表示される
為、"401 Unauthorized"が帰ってきますが、返信があるということで
正常かな?と思います。
これで何とかできるかなと思います。


ひろ  2005-07-12 17:49:13  No: 90912

とりあえず通信することには成功しているので後は認証を通せばOKですね。
Winsockで実装するなら、この辺が参考になると思います。

http://www.studyinghttp.net/auth


KUROさん  2005-07-13 05:17:52  No: 90913

何とか解決しました。
お手数おかけしました。ありがとうございます。


※返信する前に利用規約をご確認ください。

※Google reCAPTCHA認証からCloudflare Turnstile認証へ変更しました。






  このエントリーをはてなブックマークに追加