Python3 - Telnet - ascii error
Verfasst: Freitag 30. Dezember 2022, 17:28
Hallo Python Forum
Ich schlage mich jetzt schon Wochenlang mit einem Telnet Problem herum.
Ich weis im Prinzip das es ein Dekodierungsfehler ist, aber ich weis nicht wie ich das in meinem "3-Zeiler" entsprechend lösen kann.
Ich logge mich hier per Telnet bei dxc.pi4cc.nl 8000 per Telnet ein und empfange dann entsprechende Meldungen von PI4CC
Wenn ich den Telnet Befehl im Terminal eingebe, geht das einwandfrei, läuft tagelang...
Bei dem untenstehenden Python Script kommt es in unregelmässigen Abständen zu einer Fehlermeldung die etwas mit der Codierung zu tun hat.
Ich weis im Prinzip das es ein Codierungsfehler ist, ich habe aber Null Plan wie ich das lösen kann...
Eventuell kann mir hier jemand weiterhelfen. Bitte keine gut gemeinten Hinweise lese dies und das, ich habe bereits dies und das in den letzten Wochen gelesen und probiert, ich komme einfach nicht weiter.
Sollte mir tatsächlich jemand weiterhelfen können, ich habe kein Problem damit, dass ich dem Helfer ein paar "Unertl Weissbier" zukomme lasse
)
Grüsse und einen guten Rutsch uns neue Jahr 2023
Georg
btw: Python Newbie - bis jetzt nur Excel VBA
---------------------------------------------------------------------
Code
--------
from telnetlib import Telnet
host = 'dxc.pi4cc.nl'
port = 8000
user = 'df7rg'
with Telnet(host, port) as tn:
tn.read_until(b"login: ")
tn.write(user.encode('ascii') + b"\n")
tn.interact()
Shell Ausgabe
-----------------------
DF7RG de PI4CC 30-Dec-2022 1504Z dxspider >
DX de OM1AN: 14081.8 G4WXZ tnx QSO 73 HNY Andy 1504Z
DX de IU3MAG: 10136.0 IZ0IMR CDM I* 1504Z
DX de F6KBK: 7059.0 F4GYM/P FFF 1799 1504Z
DX de CX8DS: 24936.0 IK3VUT cq 58 1504Z
DX de NB1N: 21027.2 HG5D YOTA CW TNX ES HNY! 1504Z
DX de K3LU: 18075.5 IZ8FAV 1504Z
DX de AA2AS: 28422.0 LU2TAO weak in NJ but workable 1504Z
DX de HS0YNM: 3573.0 RV9CX Thanks ft8 1504Z
Traceback (most recent call last):
File "/home/pi/.local/share/WSJT-X/telnetclient.py", line 13, in <module>
tn.interact()
File "/usr/lib/python3.7/telnetlib.py", line 553, in interact
sys.stdout.write(text.decode('ascii'))
UnicodeDecodeError: 'ascii' codec can't decode byte 0xa0 in position 46: ordinal not in range(128)
>>>
Ich schlage mich jetzt schon Wochenlang mit einem Telnet Problem herum.
Ich weis im Prinzip das es ein Dekodierungsfehler ist, aber ich weis nicht wie ich das in meinem "3-Zeiler" entsprechend lösen kann.
Ich logge mich hier per Telnet bei dxc.pi4cc.nl 8000 per Telnet ein und empfange dann entsprechende Meldungen von PI4CC
Wenn ich den Telnet Befehl im Terminal eingebe, geht das einwandfrei, läuft tagelang...
Bei dem untenstehenden Python Script kommt es in unregelmässigen Abständen zu einer Fehlermeldung die etwas mit der Codierung zu tun hat.
Ich weis im Prinzip das es ein Codierungsfehler ist, ich habe aber Null Plan wie ich das lösen kann...
Eventuell kann mir hier jemand weiterhelfen. Bitte keine gut gemeinten Hinweise lese dies und das, ich habe bereits dies und das in den letzten Wochen gelesen und probiert, ich komme einfach nicht weiter.
Sollte mir tatsächlich jemand weiterhelfen können, ich habe kein Problem damit, dass ich dem Helfer ein paar "Unertl Weissbier" zukomme lasse

Grüsse und einen guten Rutsch uns neue Jahr 2023
Georg
btw: Python Newbie - bis jetzt nur Excel VBA
---------------------------------------------------------------------
Code
--------
from telnetlib import Telnet
host = 'dxc.pi4cc.nl'
port = 8000
user = 'df7rg'
with Telnet(host, port) as tn:
tn.read_until(b"login: ")
tn.write(user.encode('ascii') + b"\n")
tn.interact()
Shell Ausgabe
-----------------------
DF7RG de PI4CC 30-Dec-2022 1504Z dxspider >
DX de OM1AN: 14081.8 G4WXZ tnx QSO 73 HNY Andy 1504Z
DX de IU3MAG: 10136.0 IZ0IMR CDM I* 1504Z
DX de F6KBK: 7059.0 F4GYM/P FFF 1799 1504Z
DX de CX8DS: 24936.0 IK3VUT cq 58 1504Z
DX de NB1N: 21027.2 HG5D YOTA CW TNX ES HNY! 1504Z
DX de K3LU: 18075.5 IZ8FAV 1504Z
DX de AA2AS: 28422.0 LU2TAO weak in NJ but workable 1504Z
DX de HS0YNM: 3573.0 RV9CX Thanks ft8 1504Z
Traceback (most recent call last):
File "/home/pi/.local/share/WSJT-X/telnetclient.py", line 13, in <module>
tn.interact()
File "/usr/lib/python3.7/telnetlib.py", line 553, in interact
sys.stdout.write(text.decode('ascii'))
UnicodeDecodeError: 'ascii' codec can't decode byte 0xa0 in position 46: ordinal not in range(128)
>>>