elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Entrar al Canal Oficial Telegram de elhacker.net


  Mostrar Temas
Páginas: 1 [2]
11  Programación / Scripting / AYUDA con Python 3 en: 26 Junio 2018, 23:58 pm
Tengo que enviar la salida de un comando "ipconfig" utilizando un socket con el método check_output del modulo subprocess. Este proceso solía ser fácil en la versión Python 2.7 pero en Python 3 todo es más complicado y me muestra un UnicodeDecodeError.

Este es el código que envía los bytes:

Código:
import socket
import subprocess

client = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
client.connect(("localhost",7500))

m = subprocess.check_output('ipconfig')
client.send(m)

Por supuesto, no es necesario convertirlo a bytes para enviarlo porque la salida de check_output ya entrega valores en formato de bytes.

Hasta hay todo bien, Pero el problema ocurre en el siguiente codigo que recibe los datos ya que no me permite decodificarlo.

El código que recibe los datos es el siguiente:

Código:
import socket

serv = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
serv.bind(("localhost",7500))
serv.listen(1)

conex,direccion = serv.accept()
a = conex.recv(4096)
print(a.decode('utf-8'))

Cuando ejecuto este codigo me muestra el siguiente error: en la ultima linea, en la que dice "print(a.decode('utf-8'))" , El error que me sale es el siguiente:

Código:
UnicodeDecodeError: 'utf-8' codec can't decode byte 0xa2 in position 13: invalid start byte

Alguien me podría ayudar, llevo muy poco tiempo usando Python 3 y no se que hacer  :-[



Páginas: 1 [2]
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines