[python] HTTPie를 사용하여 서버와 SSE 통신을 하는 방법은 어떻게 되나요?
- HTTPie 설치하기
$ pip install httpie
- 서버로부터 SSE 이벤트를 수신하기
$ http --stream GET http://example.com/sse_endpoint
위의 명령어는
http
를 사용하여 GET 요청을 보내고,--stream
옵션을 통해 SSE 스트림을 받는 것을 의미합니다.http://example.com/sse_endpoint
는 실제로 SSE 이벤트를 제공하는 서버의 엔드포인트를 나타냅니다. -
SSE 이벤트 처리하기 HTTPie를 사용하면 SSE 이벤트를 쉽게 처리할 수 있습니다. 이벤트 데이터는
event:
로 시작하는 라인으로 시작하며, 이후에 데이터가 따라옵니다. 다음은 SSE 이벤트를 처리하는 Python 코드 예시입니다.import requests import sseclient url = 'http://example.com/sse_endpoint' response = requests.get(url, stream=True) client = sseclient.SSEClient(response.iter_content()) for event in client.events(): print('Received event: {}'.format(event.event)) print('Event data: {}'.format(event.data))
위의 예시 코드에서는
requests
와sseclient
라이브러리를 사용하여 SSE 스트림을 받고, 각 이벤트를 처리합니다. 받은 이벤트의event
속성은 이벤트 이름을,data
속성은 실제 데이터를 나타냅니다. - 필요에 따라 SSE 이벤트에 대한 처리를 추가하고 원하는 작업을 수행합니다. SSE 통신을 통해 받은 이벤트 데이터를 기반으로 필요한 작업을 수행할 수 있습니다. 예를 들어 데이터베이스에 저장하거나, 웹소켓을 통해 클라이언트에 전달할 수도 있습니다.
참고 문서: