討論區快速選單
知識庫快速選單
討論區最近新進100則主題 程式設計俱樂部Facebook粉絲團 最新Microsoft免費研討會行事曆
[ 回上頁 ] [ 討論區發言規則 ]
IdTelnet無法login到主機
更改我的閱讀文章字型大小
作者 : ryanchan(小強)
[ 貼文 22 | 人氣 1022 | 評價 0 | 評價/貼文 0 | 送出評價 0 次 ] 
[ 給個讚 ]  [ 給個讚 ]  [ 回應本文 ]  [ 發表新文 ]  [ 回上頁 ] [ 回討論區列表 ] [ 回知識入口 ]
2003/6/17 下午 06:25:48
請位高手
我用IdTelnet無法login到主機,但是我有啟動主機的telnet,我用helphi5.0 Indy8.022
程式碼如下
IdTelnet1.Host:='168.154.2.15';
IdTelnet1.Post:='23';
IdTelnet1.Connect;
IdTelnet1.SendCmd('mpiss');
IdTelnet1.SendCmd('mpiss');
IdTelnet1.SendCmd('ftp 168.154.2.16');
請問我是少了什麼或是哪裡錯誤
感謝高手

作者 : hagar(hagar) Delphi曠世奇才貼文超過2000則
[ 貼文 2966 | 人氣 6789 | 評價 8250 | 評價/貼文 2.78 | 送出評價 134 次 ] 
[ 給個讚 ]  [ 給個讚 ]  [ 回應本文 ]  [ 發表新文 ]  [ 回上頁 ] [ 回討論區列表 ] [ 回知識入口 ]
2003/6/17 下午 08:46:17
應該先判斷收到什麼字元, 再送要輸入的字元.
作者 : ryanchan(小強)
[ 貼文 22 | 人氣 1022 | 評價 0 | 評價/貼文 0 | 送出評價 0 次 ] 
[ 給個讚 ]  [ 給個讚 ]  [ 回應本文 ]  [ 發表新文 ]  [ 回上頁 ] [ 回討論區列表 ] [ 回知識入口 ]
2003/6/18 上午 10:47:01
我自己測試一遍
IdTelnet1.Host:='mpiss';-----沒問題
IdTelnet1.Port:=23;-----沒有問題
IdTelnet1.Connect;-----沒有問題
IdTelnet1.SendCmd('login: mpiss');----出現問題
因為沒有出現任何錯誤或提示訊息,整各程序就就停在這裡.
我是用Trace into 到IdStackWinsock.pas
請問各位高手,誰有遇過ㄋ
作者 : ryanchan(小強)
[ 貼文 22 | 人氣 1022 | 評價 0 | 評價/貼文 0 | 送出評價 0 次 ] 
[ 給個讚 ]  [ 給個讚 ]  [ 回應本文 ]  [ 發表新文 ]  [ 回上頁 ] [ 回討論區列表 ] [ 回知識入口 ]
2003/6/18 上午 11:42:19
我修改了如下
IdTelnet1.Connect;
a:='mpiss';
for i:=1 to Length(a) do
IdTelnet1.SendCh(a[i]);
IdTelnet1.SendCh(#13);
b:='mpiss';
for i:=1 to Length(b) do
IdTelnet1.SendCh(b[i]);
IdTelnet1.SendCh(#13);
login沒有問題
但是password會隨login後面出現變成
lonig:mpiss
mpiss
Password:
請問該如何解ㄋ
作者 : ryanchan(小強)
[ 貼文 22 | 人氣 1022 | 評價 0 | 評價/貼文 0 | 送出評價 0 次 ] 
[ 給個讚 ]  [ 給個讚 ]  [ 回應本文 ]  [ 發表新文 ]  [ 回上頁 ] [ 回討論區列表 ] [ 回知識入口 ]
2003/6/18 下午 01:48:15
我找到一各答案如下
procedure TForm1.Button1Click(Sender: TObject);
begin
IdTelnet1.Host:='mpiss';
IdTelnet1.Port:=23;
IdTelnet1.Connect;
end;

procedure TForm1.IdTelnet1TelnetCommand(Sender: TComponent;
  Status: TTelnetCommand);
var
b:String;
i:Integer;
begin
 b:='mpiss';
for i:=1 to Length(b) do
IdTelnet1.SendCh(b[i]);
IdTelnet1.SendCh(#13);
 b:='sqlplus mpiss/mpiss@mpiss';
for i:=1 to Length(b) do
IdTelnet1.SendCh(b[i]);
IdTelnet1.SendCh(#13);
end;
就解決了,還有其它方式嗎
作者 : ryanchan(小強)
[ 貼文 22 | 人氣 1022 | 評價 0 | 評價/貼文 0 | 送出評價 0 次 ] 
[ 給個讚 ]  [ 給個讚 ]  [ 回應本文 ]  [ 發表新文 ]  [ 回上頁 ] [ 回討論區列表 ] [ 回知識入口 ]
2003/6/18 下午 03:56:24
因為各主機傳回訊息時間不一樣,所以我又改進一小部份,已傳回的訊息來判斷是否是要做login或password的輸入
procedure TForm1.Button1Click(Sender: TObject);
begin
IdTelnet1.Host:='1XX.16.2.15';
IdTelnet1.Port:=23;
IdTelnet1.Connect;
end;

procedure TForm1.IdTelnet1DataAvailable(Buffer: String);
begin
  memo1.Lines.Add(Buffer);
  if (Pos('login:',Buffer)>0) or (Pos('Password:',Buffer)>0) then
  begin
IdTelnet1.SendCmd('mpbms');
end;
end;

procedure TForm1.Button2Click(Sender: TObject);
var
b:String;
i:Integer;
begin
 b:='cd /mpbmsapp/Bms/EXE/';
for i:=1 to Length(b) do
IdTelnet1.SendCh(b[i]);
IdTelnet1.SendCh(#13);
end;

procedure TForm1.Button3Click(Sender: TObject);
begin
 IdTelnet1.sendCmd('submit bl58200.exe 200211');
end;
 板主 : 郭祈良 , 葉雨心
 > Delphi - 討論區
 - 最近熱門問答精華集
 - 全部歷史問答精華集
 - Delphi - 知識庫
  ■ 全站最新Post列表
  ■ 我的文章收藏
  ■ 我最愛的作者
  ■ 全站文章收藏排行榜
  ■ 全站最愛作者排行榜
  ■  月熱門主題
  ■  季熱門主題
  ■  熱門主題Top 20
  ■  本區Post排行榜
  ■  本區評價排行榜
  ■  全站專家名人榜
  ■  全站Post排行榜
  ■  全站評價排行榜
  ■  全站人氣排行榜
 請輸入關鍵字 
  開始搜尋
 
Top 10
評價排行
Delphi
1 hagar 8170 
2 心若浮雲 2140 
3 葉雨心 1350 
4 狼鷹 1240 
5 foxelf 730 
6 Allen 680 
7 貓老大 510 
8 xriz8989 440 
9 ㄚ松 410 
10 Falcon 320 
Delphi
  專家等級 評價  
  一代宗師 10000  
  曠世奇才 5000  
  頂尖高手 3000  
  卓越專家 1500  
  優秀好手 750  
Microsoft Internet Explorer 6.0. Screen 1024x768 pixel. High Color (16 bit).
2000-2014 程式設計俱樂部 http://www.programmer-club.com.tw/
4.699707E-02