Найти - Пользователи
Полная версия: Сохранение заголовков при подключении к websocket
Начало » Python для новичков » Сохранение заголовков при подключении к websocket
1
Novichet924
Привет всем!
Создаю клиентское подключение к websocket.
добавив строку websocket.enableTrace(True) на экран выводятся заголовки подключения.
Как их сохранить в файл для дальнейшего анализа?

#!/usr/bin/env python3

import websocket
import ssl

websocket.enableTrace(True)
ws = websocket.WebSocket(sslopt={“cert_reqs”: ssl.CERT_NONE})
ws.connect(“wss://echo.websocket.org”, origin=“test”)
ws.send(“Hello, Server”)
ws.close()

doza_and
А стандартный способ перенаправить вывод не помогает?

 some.py >main.log
Novichet924
Нет.
Насколько я понимаю это отладочная инфа, которая не является результатом.
Novichet924
Уже и так пробовал:

#!/usr/bin/env python3

import websocket
import ssl
import logging
import sys


class Tee(object):
def __init__(self, name, mode):
self.file = open(name, mode)
self.stdout = sys.stdout

def __del__(self):
self.close()

def write(self, data):
self.stdout.write(data)
self.file.write(data)

def flush(self):
self.stdout.flush()
self.file.flush()

def close(self):
if sys.stdout is self:
sys.stdout = self.stdout
self.file.close()


websocket.enableTrace(True)
ws = websocket.WebSocket(sslopt={“cert_reqs”: ssl.CERT_NONE})
ws.connect(“wss://echo.websocket.org”, origin=“test”)
ws.send(“Hello, Server”)
ws.close()


sys.stdout = Tee('/tmp/log.txt', ‘a’)





На экран печатает заголовки, а в файл не хочет хохранять
doza_and
Novichet924
Нет.
Насколько я понимаю это отладочная инфа,
Вы идете каким-то безумно сложным, а раз стрелкой не перенаправилось то и неправильным путем. Оставьте в покое stdout. Почему вы сначала stderr не попробовали?
 some.py 2>main.log
Чудес не бывает.
py.user.next
Видимо, речь про этот сторонний модуль идёт
https://pypi.org/project/websocket-client/
https://websocket-client.readthedocs.io/en/latest/

Novichet924
Как их сохранить в файл для дальнейшего анализа?
Над скриптом напиши обёртку, которая его запускает и вывод перенаправляет в файл. Это будет самым разумным. Если модуль этого не позволяет делать, то не надо в скрипт писать костыли. Лучше написать второй скрипт, который отвечает за сохранение вывода, который изнутри сохранить невозможно.
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB