Pytn编程简单代码:Pytn套接字编程简单的 Web服务器

我正在处理我的第一个 Pytn 套接字编程代码,我无法弄清楚什么是错的。我输入这个程序正在运行的服务器的 IP地址以及端口号和我试图接收的文件。我应该在浏览器中接收文件,套接字应该关闭。相反,服务器打印出打印行 'Ready to serve...' 三次,在浏览器上显示 '404 Not Found',并且从不关闭套接字。有人有想法吗?

#import socket module
from socket import *
serverSocket = socket(AF_INET, SOCK_STREAM)
#Prepare a sever socket
serverSocket.bind(('', 12006))
serverSocket.listen(1)
while True:
    print 'Ready to serve...'
    #Establish the connection
    connectionSocket, addr = serverSocket.accept()
    try:
        message = connectionSocket.recv(1024)
        filename = message.split()[1]
        f = open(filename[1:])
        outputdata = f.read()
        f.close()
        #Send one HTTP header line into socket
        connectionSocket.send('HTTP/1.0 200 OK\r\n\r\n')
        #Send the content of the requested file to the client
        for i in range(0, len(outputdata)):
            connectionSocket.send(outputdata[i])
        connectionSocket.close()
    except IOError:
        #Send response message for file not found
        connectionSocket.send('404 Not Found')
        #Close client socket
        connectionSocket.close()
serverSocket.close() 
2

谢谢大家的帮助。我想出了什么问题。我已经将我的 HTML 重命名为“HelloWorld.html”,然后 Windows 自动将.html 添加到文件的末尾。因此,为了访问我需要在 HelloWorld.html.html 中键入的文件。我更改了文件名,然后此代码工作完美。

0

此代码应该工作:

# pytn 3
from socket import *
serverSocket = socket(AF_INET, SOCK_STREAM)
serverSocket.bind(('127.0.0.1', 5500))
serverSocket.listen(1)
while True:
    print("Server is running")
    connectionSocket, addr = serverSocket.accept()
    try:
        message = connectionSocket.recv(1024)
        filename = message.split()[1].decode('utf-8').strip("/")
        print(filename)
        f = open(filename)
        outputdata = f.read()
        f.close()
        connectionSocket.send('HTTP/1.0 200 OK\r\n\r\n'.encode())
        for i in range(0, len(outputdata)):
            connectionSocket.send(outputdata[i].encode())
        connectionSocket.close()
    except IOError:
        connectionSocket.send('404 Not Found'.encode())
        connectionSocket.close()
serverSocket.close() 
-2

在此行之前filename = message.split()[1]

print(message)

在这一行之后filename = message.split()[1]

print(filename)

我认为错误是在这一行。

本站系公益性非盈利分享网址,本文来自用户投稿,不代表边看边学立场,如若转载,请注明出处

(825)
Qa k qa k:ETL和 QA测试(etl qa)
上一篇
红警3单位代码:Python3:以字节为单位的 x作为单词
下一篇

相关推荐

  • python前端开发掌握最新的Web开发技术

    Python前端开发是指使用Python语言来开发Web应用程序的前端部分。这种开发方式的优势在于可以利用Python的强大功能,快速开发出功能丰富的Web应用程序。…

    2023-07-27 06:09:40
    0 21 69
  • python爬虫英语:Python Web Crawler for English Learning.

    Python爬虫英语是指使用Python语言来编写网络爬虫,以抓取英语相关信息的过程。Python爬虫英语的主要流程如下:获取URL:我们需要获取要爬取的URL,它可以是一个网站的URL,也可以是一个搜索引擎的URL,或者是一个RSS源的URL等等。…

    2023-03-07 04:20:40
    0 62 20
  • python库学习:如何使用Python库快速开发Web应用

    Python库学习是指学习如何使用Python编写的库来实现特定功能。Python库是一组可以重复使用的函数、类和模块,可以节省编程时间。…

    2023-02-02 13:25:15
    0 28 64
  • pythonweb开发第三方库构建高效、可扩展的Web应用

    PythonWeb开发第三方库是指为PythonWeb开发提供的一系列第三方库,这些第三方库可以帮助开发者更快速、更高效地完成PythonWeb开发任务。…

    2023-04-01 05:36:51
    0 73 76
  • python web学习心得探索新的可能性

    学习python web的过程中,我发现它是一门非常有趣的课程,它不仅可以让我们更深入地了解网络技术,而且可以让我们掌握一些实用的技能,如如何使用Python来构建Web应用程序。…

    2023-08-04 04:37:59
    0 32 87
  • python 应用领域:如何利用Python构建Web应用

    示例示例Python 应用领域涵盖了许多不同的领域,主要包括:数据科学:Python 是数据科学家最常用的语言之一,可以使用它来进行数据分析、可视化和机器学习。例如,你可以使用 NumPy、Pandas 和 Scikit-learn 等库来分析数据,使用 或 Seaborn 来可视化数据,并使用 或 PyTorch 来进行机器学习。…

    2023-08-13 03:01:35
    0 19 65
  • python 技术:如何使用Python来构建一个功能强大的Web应用

    Python 技术是一种面向对象的、解释型的、跨平台的计算机编程语言,它拥有丰富的内置库,可以用来实现多种功能。Python 具有易于学习的语法,可以使程序员快速地开发应用程序。…

    2023-05-20 11:01:10
    0 78 50
  • python技术栈:如何使用Python技术栈构建高效的Web应用

    Python技术栈是一种技术架构,它包括使用Python语言开发的各种技术和工具,用于构建、部署和管理应用程序。Python技术栈可以帮助开发人员更快地开发、部署和管理应用程序,并且可以增加应用程序的灵活性和可扩展性。…

    2023-03-04 06:29:27
    0 64 28

发表评论

登录 后才能评论

评论列表(26条)