使用Python套接字编程不显示HTML页面

时间:2017-12-09 08:42:55

标签: python sockets http network-programming

我正在尝试使用python学习套接字编程,并且我已经创建了一个简单的网络服务器,我可以在我的浏览器中连接到它。我已经打开了一个html文件并发送了它,但它没有显示在浏览器中。

我的简单网络服务器

import socket
import os

# Standard socket stuff:
host = ''
port = 8080
sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
sock.bind((host, port))
sock.listen(5) 

# Loop forever, listening for requests:
while True:
    csock, caddr = sock.accept()
    print("Connection from: " + str(caddr))
    req = csock.recv(1024)  # get the request, 1kB max
    print(req)
    # Look in the first line of the request for a move command
    # A move command should be e.g. 'http://server/move?a=90'
    filename = 'static/index.html'
    f = open(filename, 'r')
    l = f.read(1024)
    while (l):
        csock.sendall(str.encode("""HTTP/1.0 200 OK\n""",'iso-8859-1'))
        csock.sendall(str.encode('Content-Type: text/html\n', 'iso-8859-1'))
        csock.send(str.encode('\n'))
        csock.sendall(str.encode(""+l+"", 'iso-8859-1'))
        print('Sent ', repr(l))
        l = f.read(1024)
    f.close()

    csock.close()

的index.html



<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>
    <p>This is the body</p>
</body>
</html>
&#13;
&#13;
&#13;

我对此非常陌生,所以我可能只是错过了一些非常细微的细节,但我非常喜欢帮助我们在浏览器中正确显示html文件。

1 个答案:

答案 0 :(得分:0)

我已经尝试过你的脚本正常工作了。 也许您需要检查vagrant ssh-config > ssh-config && ssh -F ssh-config coreos1值。

  

注意:确保发送html文件中的所有字符串都没什么变化。

ssh -i ~/.vagrant.d/insecure_private_key core@192.168.99.101

浏览器上的结果

enter image description here