>  기사  >  백엔드 개발  >  요청 시간 초과는 무엇을 의미하나요?

요청 시간 초과는 무엇을 의미하나요?

爱喝马黛茶的安东尼
爱喝马黛茶的安东尼원래의
2019-06-14 09:34:1952678검색

Timeout(timeout)

서버가 제 시간에 응답하지 못하는 것을 방지하려면 외부 서버로 전송되는 대부분의 요청에 timeout 매개변수를 전달해야 합니다. 기본적으로 시간 초과 값이 명시적으로 지정되지 않는 한 요청은 자동으로 시간 초과되지 않습니다. 시간 초과가 없으면 코드가 몇 분 이상 중단될 수 있습니다.

요청 시간 초과는 무엇을 의미하나요?

연결 시간 초과는 클라이언트가 원격 시스템 포트(connect()에 해당)에 연결할 때 요청이 대기하는 시간(초)을 나타냅니다. TCP 패킷 재전송 창의 기본 크기는 3이므로 연결 시간 제한을 3의 배수보다 약간 큰 값으로 설정하는 것이 좋습니다.

크롤러 프록시 영역에서는 요청 시간 초과 문제가 자주 발생합니다. 코드가 멈춰 있고 오류가 보고되지 않으며 요청에 대한 응답이 없습니다.

관련 권장 사항: "Python Video Tutorial"

일반적인 처리는 요청 시간을 제한하기 위해 request.get() 문에 시간 제한을 추가하는 것입니다.

req = requests.get(url, headers=headers, proxies=proxies, timeout=5)

timeout=5로 설정한 후에도 장기간 무응답 문제가 지속되는 경우 timeout에서 매개변수를 미세 조정하면 됩니다.

다음과 같이 수정하면 문제가 사라집니다

req = requests.get(url, headers=headers, proxies=proxies, timeout=(3,7))

timeout이 경과됩니다. 튜플 (3, 7) 첫 번째 숫자는 연결 연결의 시간 초과 시간이고 두 번째 숫자는 읽기 읽기의 시간 초과 시간입니다.

시간 초과 사용 중에 ValueError 오류 메시지가 표시되는 경우(유사: ValueError : 연결 시간 초과 값은 Timeout(connect=2.0, read=2.0, total=None)이지만 int 또는 float여야 합니다. ) 이는 python-requests 버전 2.4.3-4의 버그입니다. 업데이트 요청

pip install -U requests

위 내용은 요청 시간 초과는 무엇을 의미하나요?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.