Добавлены примеры TCP-клиента и TCP-сервера; UPD-сервера и UDP-клиента; TCP-клиент, который устанавливает соединение с vyatsu.ru по порту 80 и отправляет HTTP-запрос; файлы, связанные с работой API Gitea. Добавлены .gitignore, README.md, .env

This commit is contained in:
Дмитрий Корзюков 2025-05-13 12:36:06 +03:00
parent 55a019818e
commit db071b5123
9 changed files with 98 additions and 0 deletions

1
.gitignore vendored Normal file
View File

@ -0,0 +1 @@
.env

9
HTTP.py Normal file
View File

@ -0,0 +1,9 @@
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()

4
HTTPrequest.py Normal file
View File

@ -0,0 +1,4 @@
import requests
response = requests.get("http://vyatsu.ru")
print(response.text[:500])

16
TCPclient.py Normal file
View File

@ -0,0 +1,16 @@
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')
data = client.recv(1024)
print(f"Ответ от сервера: {data.decode()}")
client.close()

28
TCPserver.py Normal file
View File

@ -0,0 +1,28 @@
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
# Проверяем на специальное сообщение для завершения работы
if data.upper() == b'EXIT':
print("Получено сообщение для завершения работы сервера.")
conn.sendall(b'Server is shutting down.')
conn.close()
break # Выходим из цикла и завершаем работу сервера
conn.sendall(data.upper())
conn.close()
# Закрываем сервер после выхода из цикла
server.close()
print("Сервер завершил работу.")

7
UDPclient.py Normal file
View File

@ -0,0 +1,7 @@
import socket
client = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
client.sendto(b'HELLO SERVER', ('127.0.0.1', 10000))
data, _ = client.recvfrom(1024)
print(f"Ответ от сервера: {data.decode()}")
client.close()

11
UDPserver.py Normal file
View File

@ -0,0 +1,11 @@
import socket
server = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
server.bind(('0.0.0.0', 10000)) # Измененный порт для сервера
print("UDP сервер запущен на порту 10001")
while True:
data, addr = server.recvfrom(1024)
print(f"Сообщение от {addr}: {data.decode()}")
# Изменяем данные (например, преобразуем в нижний регистр)
modified_data = data.lower()
# Отправляем измененные данные обратно клиенту
server.sendto(modified_data, addr)

16
createRepo.py Normal file
View File

@ -0,0 +1,16 @@
import requests
TOKEN = "357a9e69997259eace0e9a3167550a114d3587b9"
headers = {"Authorization": f"token {TOKEN}"}
# Параметры для нового репозитория
data = {
"name": "my-new-repo",
"private": False,
"description": "Мой новый репозиторий"
}
response = requests.post("https://git.vyatsu.ru/api/v1/user/repos", headers=headers, json=data)
print(response.status_code)
print(response.json())

6
requestAPIgitea.py Normal file
View File

@ -0,0 +1,6 @@
import requests
TOKEN = "TOKEN"
headers = {"Authorization": f"token {TOKEN}"}
response = requests.get("https://git.vyatsu.ru/api/v1/user", headers=headers)
print(response.json())