Python – HTTP post from stdin

Recibo datos en este formato cada segundo aproximadamente desde un comando de bashibeacon_scan ”

ibeacon scan -b | stdin.py 

Salida:

 ibeacon scan... 3F234454-CFD-4A0FF-ADF2-F4911BA9FFA6 1 4 -71 -69 3F234454-CFD-4A0FF-ADF2-F4911BA9FFA6 6 2 -71 -63 3F234454-CFD-4A0FF-ADF2-F4911BA9FFA6 1 4 -71 -69 3F234454-CFD-4A0FF-ADF2-F4911BA9FFA6 5 7 -71 -64 

Necesito enviar esa información por cadena de consulta. Aquí está mi código.

 #!/usr/bin/python import fileinput import httplib import urllib for line in fileinput.input(): string = line string2 = string.split(" ") parmas = string2 parmas = urllib.urlencode({"UUID": "Major","Minor":"RSSI"}) headers = {"Content-type": "application/x-www-form-urlencoded","Accept": "text/plain"} conn = httplib.HTTPConnection("67.205.14.22") conn.request("POST", "post.php", params, headers) response = conn.getresponse() print response.status, response.reason data = response.read() print data conn.close() 

Estoy recibiendo este error:

 Traceback (most recent call last): File "./stdin.py", line 14, in  conn.request("POST", "post.php", params, headers) NameError: name 'params' is not defined 

¿Algo está mal con los params? ¿Cómo formateo esto para aceptar correctamente el comando ‘ibeacon scan’ y enviarlo por correo HTTP?

 for line in fileinput.input(): string = line string2 = string.split(" ") parmas = string2 # you call the variable parmas here parmas = urllib.urlencode({"UUID": "Major","Minor":"RSSI"}) headers = {"Content-type": "application/x-www-form-urlencoded","Accept": "text/plain"} conn = httplib.HTTPConnection("67.205.14.22") conn.request("POST", "post.php", params, headers) # and params here 

Usted ha hecho lo que parece ser un error tipográfico.