客户端请求信息


import time
import tornado.web
import tornado.options
from tornado.options import define, options
from tornado.web import RequestHandler
import tornado.httpserver
import tornado.ioloop


define('port', default=8080, help='run port', type=int)


class MainHandler(RequestHandler):
    """
    self.request 获取客户端请求信息
    """
    def get(self):
        print('客户d端ip地址: ', self.request.remote_ip)

        print('请求完整url: ', self.request.full_url())

        time.sleep(2)
        print('请求时间: ', self.request.request_time())

        print('请求的路由: ', self.request.path)


app = tornado.web.Application([
    (r'/index', MainHandler)
])


if __name__ == '__main__':
    tornado.options.parse_command_line()
    print('监听端口: ', options.port)
    server = tornado.httpserver.HTTPServer(app)
    server.listen(options.port)
    tornado.ioloop.IOLoop.instance().start()

监听端口:  8080
客户d端ip地址:  127.0.0.1
请求完整url:  http://127.0.0.1:8080/index
请求时间:  2.0001144409179688
请求的路由:  /index
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
以下是 Python 3.x 版本的 TCP Socket 的客户端和服务器端程序,可以实现题目要求的功能: 服务器端程序: ```python import socket HOST = '' # 表示可以使用任何可用的地址 PORT = 8888 # 端口号 # 创建 socket 对象 s = socket.socket(socket.AF_INET, socket.SOCK_STREAM) # 绑定主机和端口号 s.bind((HOST, PORT)) # 开始监听,最多允许 1 个连接同时连入 s.listen(1) print('服务器已启动,等待客户端连接...') while True: # 接受一个新连接 conn, addr = s.accept() print('客户端已连接:', addr) # 接收客户端发来的消息 data = conn.recv(1024) print('客户端发来的消息:', data.decode()) # 向客户端回送消息 reply = '你好,我是服务器。' conn.sendall(reply.encode()) # 关闭连接 conn.close() ``` 客户端程序: ```python import socket HOST = 'localhost' # 服务器的主机名或 IP 地址 PORT = 8888 # 服务器的端口号 MESSAGE = '你好,我是客户端。' # 发送给服务器的消息 # 创建 socket 对象 s = socket.socket(socket.AF_INET, socket.SOCK_STREAM) # 连接服务器 s.connect((HOST, PORT)) # 向服务器发送消息 s.sendall(MESSAGE.encode()) # 接收服务器回送的消息 data = s.recv(1024) print('服务器回送的消息:', data.decode()) # 关闭连接 s.close() ``` 在 DOS 命令提示符界面中,先运行服务器端程序,再运行客户端程序,即可看到程序的实验结果。 在 DOS 界面中运行服务器程序后,我们可以使用浏览器访问该服务器。服务器会收到浏览器发来的 HTTP 请求,其中包含了请求的资源路径、请求的方法、请求头等信息。服务器可以根据这些信息进行处理,并向浏览器回送 HTTP 响应,其中包含了状态码、响应头、响应正文等信息。我们可以在浏览器的“开发者模式”中的 Network 标签下查看到客户端请求信息和服务器响应信息的具体内容。这些信息遵循了 HTTP 协议的规范,可以用来进行网络调试和性能优化。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值