Добавлены примеры TCP-клиента и TCP-сервера; UPD-сервера и UDP-клиента; TCP-клиент, который устанавливает соединение с vyatsu.ru по порту 80 и отправляет HTTP-запрос; файлы, связанные с работой API Gitea. Добавлены .gitignore, README.md, .env
This commit is contained in:
parent
55a019818e
commit
db071b5123
1
.gitignore
vendored
Normal file
1
.gitignore
vendored
Normal file
@ -0,0 +1 @@
|
|||||||
|
.env
|
9
HTTP.py
Normal file
9
HTTP.py
Normal 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
4
HTTPrequest.py
Normal file
@ -0,0 +1,4 @@
|
|||||||
|
import requests
|
||||||
|
|
||||||
|
response = requests.get("http://vyatsu.ru")
|
||||||
|
print(response.text[:500])
|
16
TCPclient.py
Normal file
16
TCPclient.py
Normal 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
28
TCPserver.py
Normal 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
7
UDPclient.py
Normal 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
11
UDPserver.py
Normal 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
16
createRepo.py
Normal 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
6
requestAPIgitea.py
Normal 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())
|
Loading…
Reference in New Issue
Block a user