curl로 웹 페이지 응답 시간 초과 설정


15

도구를 사용하여 웹 페이지가 작동하고 있는지 모니터링합니다.

이 도구는 curl내부적으로 명령을 사용 하여 출력을 가져옵니다.

그러나 웹 페이지가 응답하는 데 시간이 오래 걸리면 TIMEOUT오류가 발생합니다. 도구에서 시간 초과를 늘릴 수있는 방법이 없습니다.

웹 페이지의 응답에 대한 시간 초과 기간을 설정 / 수정할 수있는 방법이 있습니까?

수정할 수있는 변수가 있습니까?

답변:


23

-m옵션 을 사용할 수 있습니다 :

-m, --max-time <seconds>
              Maximum time in seconds that you allow the  whole  operation  to
              take.   This is useful for preventing your batch jobs from hang‐
              ing for hours due to slow networks or  links  going  down.   See
              also the --connect-timeout option.

              If this option is used several times, the last one will be used.

연결 시간이 포함되며, 별도로 지정하려면 --connect-timeout옵션을 사용하십시오 .


4

일반적으로 curl호출 할 때 명령 줄의 옵션 으로이 작업을 수행합니다 . 그러나 이것을 변경할 수 없으므로 다른 방법이 있습니다 curl.에 대한 구성 파일을 만들 수 있습니다 . 유닉스에서는 curlcurl을 실행하는 사용자의 홈 디렉토리에서 파일을 찾습니다 .curlrc. 줄을 사용하여 해당 파일을 만듭니다.

connect-timeout = 10

시간 초과를 10 초로 줄입니다. 또는 옵션을 사용하여 전체 작업에 대한 최대 시간을 설정할 수 있습니다max-time .

max-time = 10

좋은 생각입니다 ..하지만 FD 수를 늘리기 위해 ulimit와 같은 백엔드에서 설정할 수있는 특정 env 변수가 있는지 궁금합니다.
user80040

맨 페이지에서 그런 것을 찾을 수 없습니다.
Jenny D

4

curl에는 "연결 시간 초과"옵션이 있습니다.

--connect-timeout <seconds>

"도구"가 스크립트 인 경우 수동으로 편집 할 수 있습니다. 그러나 /unix//a/148926/77959 가 더 좋습니다. curl-config를 편집하십시오!


Ya .. 구성을 추가하는 것은 오히려 밝은 생각입니다 ..하지만 그에 대한 특정 env 변수가 있거나 ulimit와 같은 백엔드에서 FD 수를 늘리기 위해 설정할 수있는 것이 있는지 궁금합니다.
user80040

아니요. 없습니다. "백엔드"가 없으며 시간 초과는 일종의 시스템 제한이 아닙니다. 컬은 웹 요청을 수행하고 구성에 따라 시간 종료를 결정합니다.
질 'SO-정지 존재 악마'

0

에서 Curl이 옵션을 사용할 수 있습니다 --connect-timeout: 초 단위의 최대 시간을 당신은 서버에 연결이 걸릴 수있다. 연결 단계 만 제한합니다. 일단 curl연결 되면 이 옵션은 더 이상 사용되지 않습니다. --max-time옵션 도 참조하십시오 .

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.