Código de respuesta 404 al conectar el cliente de Android al servidor de Python

Mi aplicación usa el código httpUrlConnection estándar para conectarse a un código python en el servidor apache http. Se otorgan todos los permisos de acceso a la red e internet. Anteriormente no podía ejecutar este código porque no estaba usando Asych (un subproceso diferente para el acceso a la red) ya que estoy trabajando en Android 3.0 - Última versión. Ahora he terminado con esta parte.

No, cuando llamo al código a continuación, el código de respuesta es 200, lo cual está bien:

#!/Python27/python
print "Content-type: text/html"
print
print "<html><head>"
print ""
print "</head><body>"
print "Hello."
print "</body></html>"

Pero cuando uso este código:

# Echo server program
import socket

HOST = '127.0.0.1'     
PORT = 80              
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
s.bind((HOST, PORT))
s.listen(1)
conn, addr = s.accept()
print 'Connected by', addr
while 1:
    data = conn.recv(1024)
    if not data: break
    conn.sendall(data)
conn.close()

da un código de respuesta 404 que dice Exception FileNotFoundException.

Además, sí, el código anterior es para un servidor y este es un código de muestra de la biblioteca de sockets de Python (por lo que todos los comentarios no son míos). Estoy escribiendo un servidor similar que brindaría conectividad a la base de datos y funciones de publicación/obtención. Entonces, solo necesito asegurarme de cuál es el problema con el código del servidor anterior.

Cualquier pista es más que bienvenida.

Gracias.

preguntado el 28 de agosto de 12 a las 08:08

Creo que puede haber entendido mal lo que significan los comentarios en su programa de servidor. Para uno 80 no es un puerto no privilegiado (los que están por encima del 1024); y el código es para crear un servidor, creo que lo que quieres es escribir un cliente? -

1 Respuestas

El código del servidor de eco anterior no se pudo conectar porque no era un servidor http y, por lo tanto, no se programó ningún código de respuesta y no se implementó otra información requerida de un servidor http.

El código anterior funcionó tal como se ejecutó desde Apache, así que obviamente funcionó... Gracias por comentar...

Respondido el 25 de Septiembre de 12 a las 03:09

No es la respuesta que estás buscando? Examinar otras preguntas etiquetadas or haz tu propia pregunta.