Reply to the Riccardo Magliocchetti's message, wrote on 30/11/2015 at 15:24:
Il 30/11/2015 15:10, Gabriele Battaglia ha scritto:
Buon pomeriggio a tutti.

Voglio scrivere uno script che si connetta ad un server telnet e mi
permetta di:

[snip]
Qualcosa però non funziona, non compare alcun output, ne errori di
connessione,
semplicemente la console resta vuota per un lungo periodo di tempo,
poi torna il
prompt, così:

Lo script, fino ad ora è questo, solo un abbozzo.
***
# FICS, data concepimento 28/11/2015 by Gabriele Battaglia

Quindi sarà pronto tra ~9 mesi? :)
Molto probabile anche se spero in un settimino.


# stringa da analizzare
# <12> rnbqkbnr pp-ppppp --p----- -------- ---PP--- -------- PPP--PPP
RNBQKBNR B
3 1 1 1 1 0 279 Exylyan GuestQHWY -1 3 3 39 39 172 180 2 P/d2-d4
(0:11) d4 0 1 0

import getpass, sys, telnetlib

HOST = "freechess.org"

Se la prossima volta specifichi a cosa vuoi collegarti nel testo della
mail agevoli la vita agli altri :)
Volentieri, ma non ne capisco l'utilità: è un server per giocare a scacchi, appunto freechess.org che implementa una connessione telnet.


user = raw_input("Inserisci il tuo account remoto: ")
password = getpass.getpass()

tn = telnetlib.Telnet(HOST)

tn.read_until("login:")
tn.write(user + "\n")
if password:
     tn.read_until("Password: ")
     tn.write(password + "\n")

#tn.write("ls\n") *Ho messo il cancelletto perche' non ho capito a che
serve
questo comando
#tn.write("exit\n") * idem

print tn.read_all()
***

Cosa può essere che non funziona?

Prima datti una letta su cos'è telnet su wikipedia e su per cosa viene
(ahinoi ancora) usato (hint: una shell).

Fatto, qui: https://it.wikipedia.org/wiki/Telnet#Caratteristiche
Mi rendo conto dei problemi di sicurezza ma che posso farci? La scelta di usare telnet e non SSH, o qualche altro protocollo, è dei gestori del servizio di freechess.

Poi ti consiglio di andare su
freechess.org e leggere le istruzioni su dove devi collegarti (hint: la
porta!).

La porta è quella di default, la 23, anche se penso il server ascolti anche sulla 5000.
Tuttavia, se dal prompt dei comandi digito:

telnet freechess.org

La connessione è immediata, così come è funzionante la negoziazione di user e password, insomma, la sessione avviene correttamente e termina quando io invio il comando "quit". Sono perciò certo che nessun firewall si opponga, che la porta sia la 23 e che non vi siano altri impedimenti, ecco perchè, credevo lo script funzionasse senza problemi.
...
_______________________________________________
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python

Rispondere a