From 6c9a514f67e81aab779ed297a164bd123c54aa71 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=9C=D0=B8=D1=85=D0=B0=D0=B8=D0=BB?= Date: Sat, 23 May 2026 22:29:53 +0300 Subject: [PATCH] =?UTF-8?q?=D0=9F=D0=A02.3:=20TCP,=20UDP,=20HTTP,=20reques?= =?UTF-8?q?ts,=20Wireshark?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .gitignore | 0 README.md | 0 api_git_example.py | 0 http_socket_client.py | 17 +++++++++++++++++ requests_example.py | 4 ++++ tcp_client.py | 12 ++++++++++++ tcp_server.py | 30 ++++++++++++++++++++++++++++++ token.py | 8 ++++++++ udp_client.py | 11 +++++++++++ udp_server.py | 14 ++++++++++++++ 10 files changed, 96 insertions(+) create mode 100644 .gitignore create mode 100644 README.md create mode 100644 api_git_example.py create mode 100644 http_socket_client.py create mode 100644 requests_example.py create mode 100644 tcp_client.py create mode 100644 tcp_server.py create mode 100644 token.py create mode 100644 udp_client.py create mode 100644 udp_server.py diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..e69de29 diff --git a/README.md b/README.md new file mode 100644 index 0000000..e69de29 diff --git a/api_git_example.py b/api_git_example.py new file mode 100644 index 0000000..e69de29 diff --git a/http_socket_client.py b/http_socket_client.py new file mode 100644 index 0000000..c3c99fb --- /dev/null +++ b/http_socket_client.py @@ -0,0 +1,17 @@ +import socket + +client = socket.socket(socket.AF_INET, socket.SOCK_STREAM) +client.connect(("vyatsu.ru", 80)) + +request = ( + "GET / HTTP/1.1\r\n" + "Host: vyatsu.ru\r\n" + "Connection: close\r\n" + "\r\n" +) + +client.sendall(request.encode("utf-8")) +response = client.recv(4096) +print(response.decode(errors="ignore")) + +client.close() \ No newline at end of file diff --git a/requests_example.py b/requests_example.py new file mode 100644 index 0000000..83588ae --- /dev/null +++ b/requests_example.py @@ -0,0 +1,4 @@ +import requests + +response = requests.get("http://vyatsu.ru") +print(response.text[:500]) \ No newline at end of file diff --git a/tcp_client.py b/tcp_client.py new file mode 100644 index 0000000..f1f556e --- /dev/null +++ b/tcp_client.py @@ -0,0 +1,12 @@ +import socket + +client = socket.socket(socket.AF_INET, socket.SOCK_STREAM) +client.connect(("127.0.0.1", 12000)) + +message = "hello server" +client.sendall(message.encode()) + +data = client.recv(1024) +print(f"Ответ от сервера: {data.decode()}") + +client.close() \ No newline at end of file diff --git a/tcp_server.py b/tcp_server.py new file mode 100644 index 0000000..442fdd3 --- /dev/null +++ b/tcp_server.py @@ -0,0 +1,30 @@ +import socket + +server = socket.socket(socket.AF_INET, socket.SOCK_STREAM) +server.bind(("0.0.0.0", 12000)) +server.listen(1) + +print("TCP сервер запущен и ожидает подключения...") + +while True: + conn, addr = server.accept() + print(f"Подключение от {addr}") + + data = conn.recv(1024) + if not data: + conn.close() + continue + + message = data.decode() + print(f"Получено сообщение: {message}") + + response = message.upper() + conn.sendall(response.encode()) + + conn.close() + + if response == "EXIT": + print("Сервер завершает работу") + break + +server.close() \ No newline at end of file diff --git a/token.py b/token.py new file mode 100644 index 0000000..982b134 --- /dev/null +++ b/token.py @@ -0,0 +1,8 @@ +import os +import requests + +TOKEN = os.getenv("GIT_VYATSU_TOKEN") # токен через переменную окружения +headers = {"Authorization": f"token {TOKEN}"} + +response = requests.get("https://git.vyatsu.ru/api/v1/user", headers=headers) +print(response.json()) \ No newline at end of file diff --git a/udp_client.py b/udp_client.py new file mode 100644 index 0000000..d2c7968 --- /dev/null +++ b/udp_client.py @@ -0,0 +1,11 @@ +import socket + +client = socket.socket(socket.AF_INET, socket.SOCK_DGRAM) + +message = "привет сервер" +client.sendto(message.encode(), ("127.0.0.1", 10001)) + +data, _ = client.recvfrom(1024) +print(f"Ответ от сервера: {data.decode()}") + +client.close() \ No newline at end of file diff --git a/udp_server.py b/udp_server.py new file mode 100644 index 0000000..8a21f95 --- /dev/null +++ b/udp_server.py @@ -0,0 +1,14 @@ +import socket + +server = socket.socket(socket.AF_INET, socket.SOCK_DGRAM) +server.bind(("0.0.0.0", 10001)) + +print("UDP сервер запущен и ожидает сообщения...") + +while True: + data, addr = server.recvfrom(1024) + message = data.decode() + print(f"Сообщение от {addr}: {message}") + + response = message.upper() + server.sendto(response.encode(), addr) \ No newline at end of file