상태 코드 처리
이 Web.Contents 함수에는 특정 HTTP 상태 코드를 처리하기 위한 몇 가지 기본 제공 기능이 있습니다.
옵션 레코드의 ManualStatusHandling 필드를 사용하여 확장에서 기본 동작을 재정의할 수 있습니다.
자동 다시 시도
Web.Contents 는 다음 상태 코드 중 하나로 실패한 요청을 자동으로 다시 시도합니다.
| 코드 | 상태 |
|---|---|
| 408 | 요청 시간 초과 |
| 429 | 요청이 너무 많음 |
| 503 | 서비스를 사용할 수 없습니다. |
| 504 | 게이트웨이 시간 제한 |
| 509 | 대역폭 제한을 초과했습니다. |
요청은 실패하기 전에 최대 세 번 다시 시도됩니다. 응답에 헤더가 포함되지 않는 한 엔진은 지수 백오프 알고리즘을 사용하여 다음 재시도까지 대기하는 시간을 결정합니다 Retry-after . 헤더가 발견되면 엔진은 다음 재시도 전에 지정된 시간(초)을 기다립니다. 지원되는 최소 대기 시간은 0.5초이고 최대값은 120초입니다.
비고
Retry-after 값은 delta-seconds 형식이어야 합니다. 형식은 HTTP-date 현재 지원되지 않습니다.
인증 예외
다음 상태 코드는 자격 증명 예외를 발생시켜 사용자에게 자격 증명을 제공하도록 요청하는 인증 프롬프트를 생성합니다(또는 만료된 OAuth 토큰의 경우 다시 로그인).
| 코드 | 상태 |
|---|---|
| 401 | Unauthorized |
| 403 | 금지 |
비고
확장은 상태 코드 401 및 403과 함께 옵션 ManualStatusHandling을(를) 사용할 수 있습니다. 이는 사용자 지정 데이터 커넥터 밖에서 행해지는 호출(즉, Power Query에서 직접)에서는 Web.Contents 가능하지 않습니다.
Redirection
다음 상태 코드는 헤더에 지정된 Location URI로 자동 리디렉션됩니다. 헤더가 없 Location 으면 오류가 발생합니다.
| 코드 | 상태 |
|---|---|
| 300 | 여러 선택 항목 |
| 301 | 영구적으로 이동 |
| 302 | 발견됨 |
| 303 | 기타 참조 |
| 307 | 임시 리디렉션 |
비고
상태 코드 307만 요청 메서드를 유지합니다 POST . 다른 모든 리디렉션 상태 코드는 .로 전환됩니다 GET.