本質問は
「VB クライアント から Linux サーバー への telnet ログインするには?」
http://madia.world.coocan.jp/cgi-bin/VBBBS/wwwlng.cgi?print+200505/05050060.txt
にて login プロンプト受信まで到達した後の質問になります。
また、2003/07 の過去ログ
http://madia.world.coocan.jp/vb/vb_bbs/200307_03070022.html
にも記載がありますが、解決していないようです。
■■ 質問 ■■
VB から telnet サーバーへログイン時に
ユーザーID を送信するには、どうしたらいいのでしょうか?
下記のように色々試行してみたのですが、うまくいきません。
どなたかご助力いただけませんでしょうか?
Dim bytUser(64) As Byte
Dim strUser As String
'** 「ログインユーザー入力プロンプト」が表示されたら
If InStr(mStrCmd, "6C6F67696E3A") > 0 Then
'** ログインユーザーを送信する
'strUser = "root" & vbCr
'strUser = "root" & vbCrLf
'Call tcpClient.SendData(bytUser)
bytUser(1) = CLng("&H72") '** 「r」
bytUser(2) = CLng("&H6F") '** 「o」
bytUser(3) = CLng("&H6F") '** 「o」
bytUser(4) = CLng("&H74") '** 「t」
bytUser(5) = CLng("&H0D") '** 「<CR>」
'bytUser(6) = CLng("&H0A") '** 「<LF>」
Call tcpClient.SendData(bytUser)
End If
上記送信後の
1回目のDataArrival で
「root<CR><LF>」
を受信します。
2回目のDataArrival で
「Login incorrect<CR><LF>login:」
を受信します。
すいません、
転載誤りです。
(誤)> 'Call tcpClient.SendData(bytUser)
(正)> 'Call tcpClient.SendData(strUser)
上記 誤っておりましたが、
修正後も 受信するデータは かわりません。
すいません
自己解決しました。
寝ぼけてバイト配列の添え字を「1」からにしてました。。。orz
> bytUser(1) = CLng("&H72") '** 「r」
> bytUser(2) = CLng("&H6F") '** 「o」
> bytUser(3) = CLng("&H6F") '** 「o」
> bytUser(4) = CLng("&H74") '** 「t」
> bytUser(5) = CLng("&H0D") '** 「<CR>」
> 'bytUser(6) = CLng("&H0A") '** 「<LF>」
↓↓↓↓ これで解決でした ↓↓↓↓
bytUser(0) = CLng("&H72") '** 「r」
bytUser(1) = CLng("&H6F") '** 「o」
bytUser(2) = CLng("&H6F") '** 「o」
bytUser(3) = CLng("&H74") '** 「t」
bytUser(4) = CLng("&H0D") '** 「<CR>」
bytUser(5) = CLng("&H0A") '** 「<LF>」
すいませんでした。 m(__)m
ツイート | ![]() |