Topic: codifica e decodifica stringa su terminale  (Letto 226 volte)

0 Utenti e 1 Visitatore stanno visualizzando questo topic.

Offline teooet

  • python unicellularis
  • *
  • Post: 3
  • Punti reputazione: 0
    • Mostra profilo
codifica e decodifica stringa su terminale
« il: Dicembre 01, 2020, 15:58 »
ciao a tutti,
sto cercando i passare ad un router cisco sul quale mi riesco a collegare in telnet l' utenza che qui chiamerò "prova" per eseguire la login.
se utilizzo la stringa come input inserito digitando lo user name in questo modo:
user = input("inserisci user")
tn.read_until(b"login: ")
tn.write(user.encode('utf8') + b"\n")
se eseguo un print della variabile user, in questo caso mi restituisce: prova

lo script funziona ma se assegno la variabile  user = "prova" l' operazione si arresta.
se eseguo un print della variabile user, in questo caso mi restituisce: b'prova'

come posso adattare la formattazione della stringa?
grazie

Offline RicPol

  • python sapiens sapiens
  • ******
  • Post: 3.151
  • Punti reputazione: 9
    • Mostra profilo
Re:codifica e decodifica stringa su terminale
« Risposta #1 il: Dicembre 02, 2020, 12:00 »
non è proprio chiaro come ti esprimi...
comunque "input" restituisce una stringa, mentre su telnet devi inviare e ricevere bytes. Accertati di non mescolare mai i due tipi.

Offline teooet

  • python unicellularis
  • *
  • Post: 3
  • Punti reputazione: 0
    • Mostra profilo
Re:codifica e decodifica stringa su terminale
« Risposta #2 il: Dicembre 04, 2020, 15:10 »
ciao, grazie per la risposta,
niente da fare provo ad eseguire l' esempio classico con IP , user e password corrette ma mi da errore di login incorrect.
con Secure CRT funziona tutto...

import sys
import telnetlib

HOST = "xx.xx.xx.xx" #qui sul forum non riporto l ' indirizzo vero ne i dati di login
user = "prova"
password = "prova1"
tn = telnetlib.Telnet(HOST)

tn.read_until(b"login: ")
tn.write (user.encode('ascii') + b"\n")
tn.write (b"\r")
if password:
    tn.read_until(b"Password: ")
    tn.write (password.encode('ascii') + b"\n")
   

tn.write(b"ls\n")
tn.write(b"exit\n")
print(tn.read_all().decode('ascii'))


cosa potrebbe essere secondo voi?

Offline teooet

  • python unicellularis
  • *
  • Post: 3
  • Punti reputazione: 0
    • Mostra profilo
Re:codifica e decodifica stringa su terminale
« Risposta #3 il: Dicembre 09, 2020, 14:09 »
ciao,
volevo segnalare che ho risolto utilizzando questa formattazione nell invio dei dati:
 tn.write(b'prova\n')

grazie