【问题标题】:Response code 404 while connecting Android client to python server将Android客户端连接到python服务器时响应代码404
【发布时间】:2012-08-22 16:21:41
【问题描述】:

我的应用程序使用标准 httpUrlConnection 代码连接到 apache http 服务器上的 python 代码。 授予网络访问和互联网的所有权限。以前我无法运行此代码,因为我正在使用 Android 3.0 - 最新版本时没有使用 Asych(用于网络访问的不同线程)。现在我完成了这部分。

不,当我调用下面的代码时,响应代码是 200,这很好:

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

但是当我使用这段代码时:

# 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()

它给出 404 响应代码,说 Exception FileNotFoundException。

此外,是的,上面的代码是针对服务器的,这是来自 python 套接字库的示例代码(所以所有的 cmets 都不是我的)。我正在编写一个类似的服务器,它可以提供数据库连接和发布/获取功能。 那么,只需要确定上面的服务器代码有什么问题吗?

任何提示都非常受欢迎。

谢谢。

【问题讨论】:

  • 我认为您可能误解了 cmets 在您的服务器程序中的含义。对于一个80 不是非特权端口(那些是1024以上的端口);并且代码是用于创建一个服务器,我想你想要的是写一个客户端?

标签: android python apache http httpurlconnection


【解决方案1】:

上面的回显服务器代码无法连接,因为这不是一个 http 服务器,因此没有编写响应代码,也没有实现 http 服务器所需的其他信息。

上面的代码是从 Apache 运行的,所以很明显它是有效的。 感谢您的评论...

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-06-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-07-22
    相关资源
    最近更新 更多