diff --git a/http_socket.py b/http_socket.py new file mode 100644 index 0000000..9f49139 --- /dev/null +++ b/http_socket.py @@ -0,0 +1,10 @@ + +import socket + +client = socket.socket(socket.AF_INET, socket.SOCK_STREAM) +client.connect(('vyatsu.ru', 80)) +request = "GET / HTTP/1.1\r\nHost: vyatsu.ru\r\n\r\n" +client.sendall(request.encode()) +response = client.recv(4096) +print(response.decode()) +client.close() diff --git a/tcp_client.py b/tcp_client.py new file mode 100644 index 0000000..735ace4 --- /dev/null +++ b/tcp_client.py @@ -0,0 +1,10 @@ +import socket + +client = socket.socket(socket.AF_INET, socket.SOCK_STREAM) +client.connect(('127.0.0.1', 12000)) # порт 12000 +client.sendall(b'hello server') +data = client.recv(1024) +print(f"Ответ от сервера: {data.decode(errors='ignore')}") +client.close() + + diff --git a/tcp_server.py b/tcp_server.py new file mode 100644 index 0000000..98febac --- /dev/null +++ b/tcp_server.py @@ -0,0 +1,22 @@ +import socket + +server = socket.socket(socket.AF_INET, socket.SOCK_STREAM) +server.bind(("0.0.0.0", 12000)) +server.listen(1) +print("TCP сервер запущен на порту 12000") + +while True: + conn, addr = server.accept() + print(f"Подключение от {addr}") + + data = conn.recv(1024) + if not data: + break + + conn.sendall(b'#' + b'#'.join(bytes([b]) for b in data)) + + conn.close() + + if data.upper() == b'EXIT': + break + diff --git a/token_read.py b/token_read.py new file mode 100644 index 0000000..eee9f14 --- /dev/null +++ b/token_read.py @@ -0,0 +1,13 @@ + + + +import os +from dotenv import load_dotenv +import requests + +load_dotenv() + +TOKEN = os.getenv("GITEA_TOKEN") +headers = {"Authorization": f"token {TOKEN}"} +response = requests.get("https://git.vyatsu.ru/api/v1/user", headers=headers) +print(response.json()) diff --git a/token_write_repo.py b/token_write_repo.py new file mode 100644 index 0000000..b53d6d4 --- /dev/null +++ b/token_write_repo.py @@ -0,0 +1,16 @@ +import requests +from dotenv import load_dotenv +import os + +load_dotenv() +TOKEN = os.getenv("GITEA_TOKEN_WRITE") +headers = {"Authorization": f"token {TOKEN}"} + +data = { + "name": "repoZadanie4_rabota_s_Gitea_3laba", + "private": False, + "description": "Репозиторий, созданный с помощью API" +} + +response = requests.post("https://git.vyatsu.ru/api/v1/user/repos", headers=headers, json=data) +print(response.json()) diff --git a/udp_client.py b/udp_client.py new file mode 100644 index 0000000..642d6f9 --- /dev/null +++ b/udp_client.py @@ -0,0 +1,8 @@ +import socket + +client = socket.socket(socket.AF_INET, socket.SOCK_DGRAM) +client.sendto(b'hello server', ('127.0.0.1', 13001)) +data, _ = client.recvfrom(1024) +print(f"Ответ от сервера: {data.decode(errors='ignore')}") +client.close() + diff --git a/udp_server.py b/udp_server.py new file mode 100644 index 0000000..2310ef8 --- /dev/null +++ b/udp_server.py @@ -0,0 +1,12 @@ +import socket + +server = socket.socket(socket.AF_INET, socket.SOCK_DGRAM) +server.bind(('0.0.0.0', 13001)) # уникальный порт +print("UDP сервер запущен на порту 13001") + +while True: + data, addr = server.recvfrom(1024) + print(f"Сообщение от {addr}: {data.decode()}") + + server.sendto(b'#' + b'#'.join(bytes([b]) for b in data), addr) + diff --git a/zadanie2_http_request.py b/zadanie2_http_request.py new file mode 100644 index 0000000..7ebf2a0 --- /dev/null +++ b/zadanie2_http_request.py @@ -0,0 +1,4 @@ +import requests + +response = requests.get("http://vyatsu.ru") +print(response.text[:500]) diff --git a/zadanie3_http_socket.py b/zadanie3_http_socket.py new file mode 100644 index 0000000..8dacebd --- /dev/null +++ b/zadanie3_http_socket.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" + "User-Agent: python-requests/2.31.0\r\n" + "Accept-Encoding: gzip, deflate\r\n" + "Accept: */*\r\n" + "Connection: keep-alive\r\n" + "\r\n" +) +client.sendall(request.encode()) +response = client.recv(4096) +print(response.decode(errors="ignore")) +client.close()