telnet şifresi girme

Delphi'de kod yazma ile ilgili sorularınızı bu foruma yazabilirsiniz.
Cevapla
sahinteknik
Üye
Mesajlar: 2
Kayıt: 15 Nis 2019 11:59
İletişim:

telnet şifresi girme

Mesaj gönderen sahinteknik » 15 Nis 2019 12:02

Elimde c# ile yazılmış bir program var. bu program ile telnet üzerinde bir cihaza bağlanıyorum. bunu delphi de indy bileşenleri ile bağlanmayı denedim. bağlandım ve cihaz şifre soruyor. şifre gönderdim kabul etmiyor. hatalı şifre diyor. aşağıda c# ve benim kodu gönderiyorum. bir yerede hata var ama c# ı tam bilmedim için sorunu bulamadım.
c# kodu


[*]case State.PreLogin:
/*
* Varsayılan şifre olan 1234'ü yolla.
*
* Send default password 1234
*/
string resp = Encoding.ASCII.GetString(m_buffer, 0, recvd);
if (resp.EndsWith("Password: "))
{
Byte[] data = Encoding.ASCII.GetBytes("1234");
m_client.GetStream().Write(data, 0, data.Length);
m_state = State.Login;
}
Delphi Kodu
[*]procedure TfrmTelnetDemo.edtSendCommandKeyPress(Sender: TObject;
var Key: Char);
var
i : integer;
s : string;
begin
if IdTelnetDemo.Connected then
if (key = #13) then
begin
s := edtSendCommand.text;
for i := 1 to length(s) do
IdTelnetDemo.SendCh(s);
IdTelnetDemo.SendCh(#13);
edtSendCommand.Clear;
edtSendCommand.SetFocus;
end;

end;

Kullanıcı avatarı
sabanakman
Kıdemli Üye
Mesajlar: 3043
Kayıt: 17 Nis 2006 07:11
Konum: Ah bi Antalya olaydı keşke (Ankara)

Re: telnet şifresi girme

Mesaj gönderen sabanakman » 23 Nis 2019 12:27

Delphi 2009 ve üstü sürümlerde string bilgiler unicode desteğine kavuştu ve cihazınız sanırım ansi string tipiyle haberleşiyor. Tip dönüşümlerine dikkat edin isterseniz.
Şaban Şahin AKMAN
_________________
Derin olan kuyu değil kısa olan iptir. - .

sahinteknik
Üye
Mesajlar: 2
Kayıt: 15 Nis 2019 11:59
İletişim:

Re: telnet şifresi girme

Mesaj gönderen sahinteknik » 24 Nis 2019 11:28

çok teşekkürler

ertank
Üye
Mesajlar: 1201
Kayıt: 11 Eyl 2015 11:45

Re: telnet şifresi girme

Mesaj gönderen ertank » 09 Haz 2019 01:38

sahinteknik yazdı:
15 Nis 2019 12:02
Elimde c# ile yazılmış bir program var. bu program ile telnet üzerinde bir cihaza bağlanıyorum. bunu delphi de indy bileşenleri ile bağlanmayı denedim. bağlandım ve cihaz şifre soruyor. şifre gönderdim kabul etmiyor. hatalı şifre diyor. aşağıda c# ve benim kodu gönderiyorum. bir yerede hata var ama c# ı tam bilmedim için sorunu bulamadım.
c# kodu


[*]case State.PreLogin:
/*
* Varsayılan şifre olan 1234'ü yolla.
*
* Send default password 1234
*/
string resp = Encoding.ASCII.GetString(m_buffer, 0, recvd);
if (resp.EndsWith("Password: "))
{
Byte[] data = Encoding.ASCII.GetBytes("1234");
m_client.GetStream().Write(data, 0, data.Length);
m_state = State.Login;
}
Delphi Kodu
[*]procedure TfrmTelnetDemo.edtSendCommandKeyPress(Sender: TObject;
var Key: Char);
var
i : integer;
s : string;
begin
if IdTelnetDemo.Connected then
if (key = #13) then
begin
s := edtSendCommand.text;
for i := 1 to length(s) do
IdTelnetDemo.SendCh(s);
IdTelnetDemo.SendCh(#13);
edtSendCommand.Clear;
edtSendCommand.SetFocus;
end;

end;


Merhaba,

Kullandığınız Delphi sürümü nedir?

Sorununuzun kaynağı sizin Byte bilgi göndermeniz gerekir iken string bilgi gönderiyor olmanız gibi gözüküyor.

Yakın zamanda çıkan Delphi sürümleri ile nisbeten daha kolay ve C# koduna çok benzer kodlar ile yapılabilir. Delphi 7 gibi eski bir sürüm için biraz daha farklı bir çözüm izlemek gerekir.

Cevapla