ํ์ด์ฌ์์ ๋ค๋ฅธ ์๊ฒฉ์ง์ ์๋ ํ๋ก๊ทธ๋จ๊ณผ ํต์ ํ๋ ๋ฐฉ๋ฒ์ ์ฌ๋ฌ ๊ฐ์ง๊ฐ ์์ต๋๋ค. ๋ค์์ ๋ํ์ ์ธ ๋ฐฉ๋ฒ ์ค ์ผ๋ถ์ ๊ฐ๋จํ ์์ ์ฝ๋์ ๋๋ค.
1. HTTP(S) ํ๋กํ ์ฝ์ ์ด์ฉํ ์น ์๋น์ค ํ์ด์ฌ์์๋ requests ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ ์ด์ฉํ์ฌ HTTP(S) ์์ฒญ์ ๋ณด๋ด๊ณ ๋ฐ์ ์ ์์ต๋๋ค.
import requests
url = 'https://example.com/api/v1'
headers = {'Content-Type': 'application/json'}
data = {'param1': 'value1', 'param2': 'value2'}
response = requests.post(url, headers=headers, json=data)
if response.status_code == 200:
print(response.json())
else:
print('Request failed with status code:', response.status_code)
2. TCP/IP ์์ผ ํ๋ก๊ทธ๋๋ฐ Python์์๋ socket ๋ชจ๋์ ์ฌ์ฉํ์ฌ TCP/IP ์์ผ ํ๋ก๊ทธ๋๋ฐ์ ํ ์ ์์ต๋๋ค.
import socket
host = 'remote_host.com'
port = 1234
with socket.socket(socket.AF_INET, socket.SOCK_STREAM) as s:
s.connect((host, port))
s.sendall(b'Hello, world')
data = s.recv(1024)
print('Received:', data)
3. ๋ฉ์์ง ํ Python์์๋ pika ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ ์ฌ์ฉํ์ฌ RabbitMQ์ ๊ฐ์ ๋ฉ์์ง ํ ์์คํ ๊ณผ ํต์ ํ ์ ์์ต๋๋ค.
import pika
connection = pika.BlockingConnection(pika.ConnectionParameters('localhost'))
channel = connection.channel()
queue_name = 'my_queue'
message = 'Hello, world'
channel.queue_declare(queue=queue_name)
channel.basic_publish(exchange='', routing_key=queue_name, body=message)
print("Sent message:", message)
def callback(ch, method, properties, body):
print("Received message:", body.decode())
channel.basic_consume(queue=queue_name, on_message_callback=callback, auto_ack=True)
channel.start_consuming()
์ ์์ ์ฝ๋๋ ๊ฐ ๋ฐฉ๋ฒ์ ๊ธฐ๋ณธ์ ์ธ ์์ ์ฝ๋์ผ ๋ฟ, ์ํฉ์ ๋ฐ๋ผ ๋ ๋ค์ํ ํ๋ผ๋ฏธํฐ๋ ๊ธฐ๋ฅ์ ์ฌ์ฉํ ์ ์์ต๋๋ค. ์ด์ ๋ฐ๋ผ ๋ ๋ณต์กํ ์ฝ๋๊ฐ ํ์ํ ์ ์์ต๋๋ค.
'๐ํ๋ก๊ทธ๋๋ฐ' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[์ ๋ณด] ํ์ด์ฌ ์์ธ์ฒ๋ฆฌ ์ฌ๋ฌ๊ฐ ํ๊ธฐ (0) | 2023.02.17 |
---|---|
[์ ๋ณด] ์คํ๋ง๋ถํธ์ ํ์ด์ฌ์ ์ด์ฉํ์ฌ JSON ํต์ ํ๊ธฐ (0) | 2023.02.17 |
[์ ๋ณด] ํ์ด์ฌ subprocess ์ค๋ช ๋ฐ ์์ (0) | 2023.02.15 |
[์ ๋ณด] JavaScript์์ HTTP ์์ฒญ์ ๋ง๋๋ ๋ฐฉ๋ฒ (0) | 2023.02.15 |
[์ ๋ณด] ์ ํจ์ค ํ์ฉ ๋ฐฉ๋ฒ (0) | 2023.02.15 |