import socket
from urllib3.connection import HTTPConnection
import requests
HTTPConnection.default_socket_options += [
(socket.SOL_SOCKET, socket.SO_KEEPALIVE, 1),
(socket.IPPROTO_TCP, socket.TCP_KEEPIDLE , 60),
(socket.IPPROTO_TCP, socket.TCP_KEEPINTVL, 60),
(socket.IPPROTO_TCP, socket.TCP_KEEPCNT, 3)
]
response = requests.get("https://api.server.com/test-api")
파라미터 설명
SO_KEEPALIVE : keep alive 활성화
TCP_KEEPIDLE : n초 동안 유휴 상태가 지속된 후 keep alive 패킷을 보냄
TCP_KEEPINTVL : keep alive 패킷을 보내는 주기
TCP_KEEPCNT : n번의 패킷 전송 실패 후 시간 초과