From e7d8c4383d9bdcaad2c14e898f501f8291b5d7dd Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=9D=D0=B8=D0=BA=D0=B8=D1=82=D0=B0=20=D0=9D=D0=B8=D1=8F?= =?UTF-8?q?=D0=B7=D0=BE=D0=B2?= Date: Sat, 26 Apr 2025 14:18:36 +0300 Subject: [PATCH] =?UTF-8?q?=D0=97=D0=B0=D0=B4=D0=B0=D0=BD=D0=B8=D0=B5=20?= =?UTF-8?q?=D0=B2=D1=8B=D0=BF=D0=BE=D0=BB=D0=BD=D0=B5=D0=BD=D0=BE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .gitignore | 2 ++ 4zadanie | 6 ++++++ git-bash - Ярлык.lnk | Bin 0 -> 907 bytes http_requests.py | 3 +++ http_socket.py | 19 +++++++++++++++++++ repositorcreate | 20 ++++++++++++++++++++ tcp_client.py | 11 +++++++++++ tcp_server.py | 21 +++++++++++++++++++++ udp_client.py | 12 ++++++++++++ udp_server.py | 13 +++++++++++++ 10 files changed, 107 insertions(+) create mode 100644 .gitignore create mode 100644 4zadanie create mode 100644 git-bash - Ярлык.lnk create mode 100644 http_requests.py create mode 100644 http_socket.py create mode 100644 repositorcreate create mode 100644 tcp_client.py create mode 100644 tcp_server.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..1ee8ead --- /dev/null +++ b/.gitignore @@ -0,0 +1,2 @@ +venv/ +.env diff --git a/4zadanie b/4zadanie new file mode 100644 index 0000000..e404220 --- /dev/null +++ b/4zadanie @@ -0,0 +1,6 @@ +import requests + +TOKEN = "882062d2e32a319ccb93222d21ca6a9119149be2" +headers = {"Authorization": f"token {TOKEN}"} +response = requests.get("https://git.vyatsu.ru/api/v1/user", headers=headers) +print(response.json()) diff --git a/git-bash - Ярлык.lnk b/git-bash - Ярлык.lnk new file mode 100644 index 0000000000000000000000000000000000000000..a83e5cf931127b23bac2e5270b76d170f300d356 GIT binary patch literal 907 zcmah{T}V@57=EVTg=RlnEpwG^1c5R(kCm|&t1VY&X)(cF#9Xi~=eDpm+9768(PcI% zNH3z2Au9kKWCDozJlwcvU%d{GZMslb6+2$UX2gP!x8wNu?#&m^HSD`wam zfQ%#*O07j7wu29KB)G|KK|HD0qLEC(9?Qmnj%Av&1FRX)G|NL&G}()5nl?lcK?Vuf z5kr;$Y$ohq{PN%&+X%co1OuU(kQ;7r=;;d@nq~?uKTRFl;Y0{KaF#ms5>8Ra81f`p z3*-;c#@6nx?m6kv+jd-%$G@rT3YosG+^LsU&4ks2-vuma(xjW2L~D}3Lel)U2PJu< z{`P!TI5+xvf`wKvfrVBP{ys6Vp6Y7|aI+DK``_smaB?Nb?EHEP+*Z3ImaQY0g{c9zT-jVBixSaq1 literal 0 HcmV?d00001 diff --git a/http_requests.py b/http_requests.py new file mode 100644 index 0000000..713887f --- /dev/null +++ b/http_requests.py @@ -0,0 +1,3 @@ +import requests +response = requests.get("https://www.vyatsu.ru/") +print(response.text[:500]) diff --git a/http_socket.py b/http_socket.py new file mode 100644 index 0000000..57f0e7f --- /dev/null +++ b/http_socket.py @@ -0,0 +1,19 @@ +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() + + diff --git a/repositorcreate b/repositorcreate new file mode 100644 index 0000000..3119f8b --- /dev/null +++ b/repositorcreate @@ -0,0 +1,20 @@ +import os +import requests +from dotenv import load_dotenv + +load_dotenv() + +TOKEN = os.getenv("token") +headers = { + "Authorization": f"token {TOKEN}", + "Content-Type": "application/json" +} + +data = { + "name": "4zadaniepraktika3", + "description": "Репозиторий создан автоматически через pyтhon", + "private": False +} + +response = requests.post("https://git.vyatsu.ru/api/v1/user/repos", json=data, headers=headers) +print(response.json()) diff --git a/tcp_client.py b/tcp_client.py new file mode 100644 index 0000000..fc1b12b --- /dev/null +++ b/tcp_client.py @@ -0,0 +1,11 @@ +import socket + +client = socket.socket(socket.AF_INET, socket.SOCK_STREAM) +client.connect(('127.0.0.1', 10000)) +client.sendall(b'hello server') +data = client.recv(1024) +print(f"Ответ от сервера: {data.decode()}") +client.sendall(b'exit') +client.close() + + diff --git a/tcp_server.py b/tcp_server.py new file mode 100644 index 0000000..894d11d --- /dev/null +++ b/tcp_server.py @@ -0,0 +1,21 @@ +import socket + +server = socket.socket(socket.AF_INET, socket.SOCK_STREAM) +server.bind(("0.0.0.0", 10000)) +server.listen(1) +print("TCP сервер запущен") + +while True: + + conn, addr = server.accept() + print(f"Подключение от {addr}") + + data = conn.recv(1024) + if not data: + break + conn.sendall(data.upper()) + + conn.close() + + if data.upper() == b'EXIT': + break diff --git a/udp_client.py b/udp_client.py new file mode 100644 index 0000000..cad36a6 --- /dev/null +++ b/udp_client.py @@ -0,0 +1,12 @@ +import socket + +client = socket.socket(socket.AF_INET, socket.SOCK_DGRAM) + +message = "Hello my Server!" +client.sendto(message.encode(), ('127.0.0.1', 10011)) # Новый порт + +data, _ = client.recvfrom(1024) +print(f"Ответ от сервера: {data.decode()}") + +client.close() + diff --git a/udp_server.py b/udp_server.py new file mode 100644 index 0000000..4bf9376 --- /dev/null +++ b/udp_server.py @@ -0,0 +1,13 @@ +import socket + +server = socket.socket(socket.AF_INET, socket.SOCK_DGRAM) +server.bind(('0.0.0.0', 10011)) +print("UDP сервер запущен на порту 11011") + +while True: + data, addr = server.recvfrom(1024) + message = data.decode() + print(f"Сообщение от {addr}: {message}") + modified = message[::-1].upper() + "!!" + + server.sendto(modified.encode(), addr)