matlab.net.http.HTTPOptions 클래스
패키지: matlab.net.http
HTTP 메시지 교환을 제어하는 옵션
설명
HTTP 요청 메시지에 대한 옵션을 생성하려면 HTTPOptions
클래스를 사용하십시오. 이 객체를 사용하여 여러 요청 간에 일관된 옵션을 지정할 수 있습니다.
생성
설명
obj = matlab.net.http.HTTPOptions
는 디폴트 속성값을 사용하여 HTTP 옵션을 생성합니다.
obj = matlab.net.http.HTTPOptions(Name,Value)
는 하나 이상의 이름-값 쌍 인수로 추가 속성이 지정된 HTTP 옵션을 만듭니다. Name
은 속성 이름이고 Value
는 대응하는 값입니다. Name1,Value1,...,NameN,ValueN
과 같이 여러 개의 이름-값 쌍의 인수를 어떤 순서로든 지정할 수 있습니다. 지정되지 않은 속성은 디폴트 값으로 설정됩니다.
속성
Authenticate
— 인증에 자격 증명이 사용되었는지 여부
true
(디폴트 값) | false
인증에 자격 증명이 사용되었는지 여부로, true
또는 false
로 지정됩니다.
Authenticate
가 true이면 서버나 프록시에서 요청하는 지원되는 인증 메서드를 구현하십시오. 인증은 Credentials
속성 및 MATLAB® 웹 기본 설정에 설정된 프록시 사용자 이름과 비밀번호(있는 경우)를 기반으로 합니다. MATLAB 인증 지원에 대한 자세한 내용은 서버 인증 항목을 참조하십시오.
다음 조건이 하나라도 존재하는 경우 응답 메시지에 서버 인증 질문이나 프록시 인증 질문이 포함됩니다.
Authenticate
가 false입니다.이 요청에 적합한
Credentials
속성을 찾을 수 없습니다.인증이 실패합니다.
특성:
GetAccess | public |
SetAccess | public |
데이터형: logical
CertificateFilename
— 파일 이름
'default'
(디폴트 값) | string형 | 문자형 벡터
파일 이름으로, 루트 인증서를 포함하는 파일의 이름과 위치를 나타내는 string형 스칼라나 문자형 벡터로 지정됩니다. 이 파일은 PEM(프라이버시 향상 메일) 형식이어야 합니다. 파일 위치는 현재 폴더, MATLAB 경로 내 폴더, 파일에 대한 전체 경로나 상대 경로 중 하나여야 합니다. 이 파일에 포함된 인증서는 HTTPS 연결에 대한 서버 인증서의 유효성을 검사하는 데 사용됩니다. HTTPS 연결의 보안은 이 파일의 무결성에 따라 결정되기 때문에 적절히 보호하십시오. MATLAB은 인증서나 인증서 파일을 관리하지 않지만, PEM 파일을 관리하는 데 사용할 수 있는 타사 툴이 있습니다.
기본적으로 옵션이 지정되지 않은 경우 MATLAB은 시스템에서 제공하는 인증서 저장소를 사용하여 서버 인증서의 유효성을 검사합니다. CertificateFilename
이 'default'
로 설정된 경우에도 마찬가지입니다.
CertificateFilename
이 비어 있으면(''
) 서버 인증서의 유효성 검사가 해제됩니다. 이 경우 MATLAB은 서버 인증서의 도메인 이름이 서버의 도메인 이름과 일치하는지만 확인합니다.
'default'
를 사용하여 서버 인증서 유효성 검사에 실패한 경우, 시스템 브라우저를 사용하여 연결을 확인하십시오.
연결 문제가 발생하면 다음을 고려하십시오.
서버 인증서가 만료되었거나 해지된 경우, 웹 사이트 소유자 또는 서버 관리자에게 문의합니다.
루트 CA 인증서가 없는 경우, 다음 중 하나를 선택할 수 있습니다.
CertificateFilename
으로 지정된 파일에 루트 CA 인증서를 추가합니다.CertificateFilename
을 빈 값(''
)으로 설정하여 인증서 유효성 검사를 비활성화합니다.
서버 인증서의 도메인 이름과 서버의 도메인 이름이 일치하지 않는 경우,
matlab.net.http.RequestMessage
객체를 만들고matlab.net.http.HTTPOptions.VerifyServerName
속성을false
로 설정하여 이 유효성 검사를 비활성화할 수 있습니다.
참고
위와 같은 옵션은 임시 해결 방법이며, MathWorks는 유효한/올바른 서버 인증서를 사용하여 서버 인증서 유효성 검사 실패의 근본 원인을 해결할 것을 강력히 권장합니다.
특성:
GetAccess | public |
SetAccess | public |
데이터형: char
| string
ConnectTimeout
— 초기 서버 연결을 기다리는 시간(초)
10 (디폴트 값) | 음이 아닌 실수 | Inf
초기 서버 연결을 기다리는 시간(초)으로, 음이 아닌 실수로 지정됩니다. 프록시가 사용되는 경우 제한 시간은 프록시 연결에 적용됩니다. 그 외의 경우에는 서버 연결에 적용됩니다.
디폴트 값은 10초입니다. 제한 시간이 초과되면 ConnectTimeout
가 오류를 발생시킵니다. 제한 시간 기능을 비활성화하려면 ConnectTimeout
을 Inf
로 설정하십시오.
ConnectTimeout
은 오류를 발생시키기 전에 서버 또는 프록시에서 연결 시도가 완료될 때까지 기다리는 시간을 결정합니다. 이 제한 시간은 완전한 응답을 수신하는 데 걸리는 시간을 제한하지는 않습니다.
프록시를 통해 서버에 요청을 전송하는 경우 ResponseTimeout을 사용하여 대기 시간을 제한하는 것이 좋습니다.
일부 운영 체제에는 시스템에 의해 적용되는 최대 제한 시간이 있습니다. ConnectTimeout
값이 이보다 크더라도 이 최대 제한 시간이 적용됩니다. 예를 들어, Windows® 10에서 이 제한 시간은 21초입니다.
특성:
GetAccess | public |
SetAccess | public |
ConvertResponse
— 서버로부터 수신한 원시 페이로드를 처리하는 방법
true
(디폴트 값) | false
서버로부터 ResponseMessage
로 수신한 원시 페이로드를 처리하는 방법으로, true
또는 false
로 지정됩니다.
ConvertResponse
가 true인 경우
ContentConsumer
가 지정된 경우uint8
형 페이로드가 추가 처리를 위해ContentConsumer
로 전달됩니다.지정되지 않은 경우 MATLAB은 응답 메시지의 Content-Type을 기반으로 하여
MessageBody.Payload
속성의 페이로드를 MATLAB 데이터로 변환합니다. 변환 규칙은 Data 속성을 참조하십시오. 변환이 성공하면Data
에는 변환된 데이터가 포함되고Payload
는 비어 있습니다.
ConvertResponse
가 false인 경우 지정된 ContentConsumer
가 모두 무시되고 동작은 Content-Type이 문자 데이터를 지정하는지 여부에 따라 달라집니다.
Content-Type에 명시적인 문자 집합 특성이나 디폴트 문자 집합 특성이 있는 경우 페이로드가 추가 처리 없이 텍스트로 변환되어
Data
에 저장됩니다.Content-Type이 문자 데이터를 지정하지 않거나 문자 집합이 없고 MATLAB이 Content-Type을 지원하지 않는 경우
Data
에 원시uint8
페이로드가 포함됩니다.
SavePayload
속성도 true
로 설정하지 않은 한, 모든 경우에 Payload
속성이 삭제됩니다.
메시지가 인코딩(압축)되었고 다음 중 하나인 경우 ConvertResponse
는 무시됩니다.
디코딩이 실패함
DecodeResponse
속성이 false임
특성:
GetAccess | public |
SetAccess | public |
데이터형: logical
DataTimeout
— 데이터 패킷 간의 대기 시간(초)
Inf
(디폴트 값) | 음이 아닌 실수
네트워크상의 데이터 패킷 간의 대기 시간(초)으로, 음이 아닌 실수로 지정됩니다. 디폴트 값은 Inf
로, 제한 시간이 없음을 뜻합니다. 이 대기 시간은 초기 연결이 이루어진 후 적용되며 느릴 수 있는 서버와 통신할 때 유용합니다. 다음 예상 패킷을 보내거나 받으려고 대기하는 동안 이 제한 시간이 초과되면, MATLAB은 연결을 닫고 오류를 발생시킵니다. 이 경우 matlab.net.http.HTTPException
의 History
속성을 사용하여 일부 데이터를 받을 수 있습니다.
특성:
GetAccess | public |
SetAccess | public |
DecodeResponse
— 압축된 데이터를 디코딩할지 여부
true
(디폴트 값) | false
압축된 데이터를 디코딩할지 여부로, true
또는 false
로 지정됩니다. 디코딩은 서버가 압축(인코딩)된 데이터를 반환할 때 응답 페이로드를 압축 해제(디코딩)하는 것을 의미합니다. 디코딩은 Content-Type 필드를 기반으로 하는 변환 전에 수행됩니다.
압축 알고리즘을 지정하는 Content-Encoding 필드가 있는 경우 응답이 인코딩됩니다. MATLAB은 콘텐츠 코딩 값 gzip
, x-gzip
, deflate
를 지원합니다. 값 identity
는 인코딩되지 않음을 의미하며, 이는 메시지에 Content-Encoding 필드가 없다는 것과 같습니다. MATLAB이 Content-Encoding 유형을 지원하지 않으면 DecodeResponse
가 true인 경우에도 디코딩이 수행되지 않습니다.
DecodeResponse
가 false이고 페이로드가 인코딩된 경우 결과는 다음과 같습니다.
MessageBody.Payload
속성에 인코딩되지 않은 원시 페이로드가 포함됩니다.MessageBody.Data
속성이 빈 상태로 유지됩니다.ConvertResponse
속성 설정에 상관없이 변환이 수행되지 않습니다.
압축된 데이터를 처리할 수 없는 ContentConsumer
를 사용 중인 경우, 소비자 사용을 막도록 ConvertResponse
역시 false로 설정하지 않는 한, 압축된 응답에 대해 이 값을 false로 설정하지 마십시오. 압축된 데이터를 처리할 수 있는 MATLAB의 유일한 소비자는 FileConsumer
및 BinaryConsumer
입니다.
특성:
GetAccess | public |
SetAccess | public |
데이터형: logical
Credentials
— 인증 자격 증명
matlab.net.http.Credentials
(디폴트 값) | matlab.net.http.Credentials
객체의 벡터 | 비어 있음
인증 자격 증명으로, 하나 이상의 matlab.net.http.Credentials
객체로 지정됩니다. 디폴트 값은 디폴트 matlab.net.http.Credentials
객체입니다. Windows에서 Kerberos, NTLM 같은 체계에 대한 인증을 허용하려면 디폴트 Credentials
객체를 사용하십시오. 이러한 체계에서는 사용자 이름이나 비밀번호를 지정할 필요가 없습니다.
Credentials
는 Authenticate
속성이 true인 경우에만 사용됩니다. 인증이 발생하려면 적어도 하나의 Credentials
객체를 지정해야 합니다. Credentials
를 빈 값으로 설정하면 어떠한 인증도 발생하지 않습니다.
한 세션 동안 같은 서버에 여러 번 액세스하는 경우 성능을 극대화하려면 각 요청에 대해 동일한 Credentials
벡터나 동일한 HTTPOptions
객체를 지정해야 합니다. Credentials
는 캐시된 정보를 포함하여 후속 인증 속도를 높입니다.
프록시에 사용할 Credentials
를 제공하고 그러한 Credentials
를 기본 설정 창의 웹 기본 설정에 지정된 다른 사용자 이름과 비밀번호를 재정의하게 하려면, 이 HTTPOptions
객체의 ProxyURI
속성에 프록시의 호스트와 포트를 지정하거나 기본 설정 창에서 인증과 함께 프록시 사용 옵션의 선택을 해제하십시오.
특성:
GetAccess | public |
SetAccess | public |
KeepAliveTimeout
— 서버에 연결된 상태로 유지되는 시간(단위: 초)
Inf
(디폴트 값) | 0
처음 연결된 후 서버에 연결된 상태로 유지되는 시간(단위: 초)으로, 0
또는 Inf
로 지정됩니다. 동일한 연결에서 여러 개의 메시지를 연속으로 전송할 수 있도록 하려면 이 속성을 사용하십시오. Inf
값(디폴트 값)은 서버가 작동하는 한 연결을 계속 유지하여 연결을 지속시킵니다. 값 0
은 각 메시지 전송 후 연결을 종료합니다. 다른 값은 지원되지 않습니다.
KeepAliveTimeout
속성은 작업의 성공 여부에 영향을 미치지 않습니다. MATLAB은 다른 제한 시간이 초과되지 않는 한, 항상 서버로부터 필요한 응답을 받을 수 있도록 충분히 연결 상태를 유지합니다. 그러나 값 0
을 설정한 상태에서 여러 개의 짧은 메시지를 동일한 서버에 전송할 경우 성능이 심각하게 떨어질 수 있습니다.
특성:
GetAccess | public |
SetAccess | public |
MaxRedirects
— 허용되는 리디렉션 횟수
20 (디폴트 값) | 0 | 정수 | Inf
허용되는 리디렉션 횟수로, 주어진 요청에 대해 정수로 지정됩니다. 디폴트 리디렉션 횟수는 20입니다. 리디렉션을 비활성화하려면 0으로 설정하십시오. 무제한 리디렉션을 허용하려면 Inf
로 설정하십시오.
MaxRedirects
가 0이 아니면 각 리디렉션 응답에서 서버로부터 수신된 쿠키가 리디렉션된 메시지로 복사됩니다. MaxRedirects
이후에는, 응답 메시지에 다음 리디렉션 메시지가 포함됩니다.
특성:
GetAccess | public |
SetAccess | public |
ProgressMonitorFcn
— 진행률 모니터 핸들러
함수 핸들 | 비어 있음
진행률 모니터 핸들러로, matlab.net.http.ProgressMonitor
객체에 대한 함수 핸들로 지정됩니다. UseProgressMonitor
가 true이면 MATLAB이 ProgressMonitor
함수를 호출하여 전송 진행률을 보고합니다. UseProgressMonitor
가 false이거나 ProgressMonitorFcn
이 비어 있으면 진행률이 보고되지 않습니다.
특성:
GetAccess | public |
SetAccess | public |
데이터형: function_handle
ProxyURI
— 프록시 서버 주소
비어 있음 (디폴트 값) | matlab.net.URI
| string형
프록시 서버 주소로, matlab.net.URI
객체나 host:port
또는 //host:port
형식의 string형으로 지정됩니다.
ProxyURI
는 UseProxy
속성이 true인 경우에만 사용됩니다. ProxyURI
는 MATLAB 웹 기본 설정에 지정된 프록시와 Windows 시스템 설정에 지정된 프록시를 재정의합니다.
특성:
GetAccess | public |
SetAccess | public |
ResponseTimeout
— 초기 응답을 수신하기 위해 기다리는 시간(초)
Inf
(디폴트 값) | 음이 아닌 실수
요청의 마지막 패킷을 전송한 후 서버로부터 초기 응답(헤더)을 수신하기 위해 기다리는 시간(초)으로, 음이 아닌 실수로 지정됩니다. 디폴트 값은 Inf
로, 제한 시간이 없음을 뜻합니다. 이 제한 시간이 초과되면 MATLAB은 연결을 닫고 오류를 발생시킵니다.
ConnectTimeout
은 프록시 연결 시간에만 적용되기 때문에, 프록시를 통해 서버에 요청을 전송할 때의 대기 시간을 제한하려면 ResponseTimeout
을 사용하십시오.
ResponseTimeout
은 weboptions
로 설정되는 Timeout
속성과 동일합니다.
특성:
GetAccess | public |
SetAccess | public |
SavePayload
— 페이로드가 저장되었는지 여부
false
(디폴트 값) | true
페이로드가 저장되었는지 여부로, true
또는 false
로 지정됩니다. 페이로드는 서버로부터 수신되거나 서버로 전송되는 원시 바이트이며 MessageBody.Payload
속성에 저장됩니다.
요청 메시지에서, SavePayload
를 true
로 설정하면 데이터 변환 후 페이로드가 저장됩니다. 응답 메시지에서는 변환이 수행되기 전에 바이트가 저장됩니다.
SavePayload
를 디버그 툴로 사용하십시오. 예를 들어, 서버가 요청의 본문을 처리할 수 없거나 응답 본문을 MATLAB 유형으로 변환하는 중에 오류가 발생했다고 가정합니다. 페이로드의 크기는 변환된 데이터의 크기 이상이므로 SavePayload
를 true
로 설정하면 상당한 양의 메모리가 소비될 수 있습니다.
변환을 수행하지 않고 응답 페이로드를 검색하려면 ConvertResponse
속성을 false
로 설정하고 MessageBody.Data
를 대신 읽어 들여야 합니다.
메시지 처리 중에 HTTPException
이 발생하면 해당 실패 시점까지 수신된 페이로드는 HTTPException.History(end).Response.Body.Payload
에 저장됩니다.
RequestMessage.Body
가 ContentProvider
객체인 경우, MATLAB은 제공자의 변환된 데이터를 Body.Payload
에 저장합니다.
특성:
GetAccess | public |
SetAccess | public |
데이터형: logical
UseProgressMonitor
— 진행률 표시 여부
false
(디폴트 값) | true
진행률 표시 여부로, true
또는 false
로 지정됩니다. ProgressMonitorFcn
속성으로 지정된 함수를 사용하여 전송 진행률을 보고하려면 UseProgressMonitor
를 true
로 설정하십시오.
특성:
GetAccess | public |
SetAccess | public |
데이터형: logical
UseProxy
— 프록시 사용 여부
true
(디폴트 값) | false
프록시 사용 여부로, true
또는 false
로 지정됩니다.
UseProxy
가 true인 경우 MATLAB은 다음 프록시 중 첫 번째를 선택합니다.
ProxyURI
속성값(있는 경우).MATLAB 웹 기본 설정에 지정된 프록시(있는 경우).
시스템 기본 설정에 지정된 프록시(Windows만 해당).
다음 중 하나라도 참인 경우 모든 요청이 프록시 없이 대상 URI로 직접 전송됩니다.
UseProxy
가 false입니다.UseProxy
가 true이지만ProxyURI
가 비어 있고 기본 설정에 지정된 프록시가 없습니다.
MATLAB은 UseProxy
가 true인 경우 자동으로 메시지를 프록시로 우회시킵니다.
특성:
GetAccess | public |
SetAccess | public |
데이터형: logical
VerifyServerName
— 서버 이름과 인증서의 일치 여부
true
(디폴트 값) | false
서버 이름과 인증서의 일치 여부로, true
또는 false
로 지정됩니다.
https
프로토콜을 사용하는 보안 연결에서 MATLAB은 인증서에 있는 서버의 이름이 요청 URI나 최신 리디렉션 요청 URI에 있는 Host
속성과 일치함을 확인합니다. 이 검증을 통해 원하는 서버와 통신할 수 있습니다. 서버 인증서가 서버 액세스에 사용된 URI와 일치하지 않는 경우 검증을 비활성화하려면 이 속성을 false로 설정하십시오. 일례로, IP 주소나 "localhost"를 사용하여 서버에 액세스하려 하고, 원하는 서버와 바로 통신해도 문제가 없다고 확신하는 경우 이와 같은 조치를 취할 수 있습니다.
특성:
GetAccess | public |
SetAccess | public |
데이터형: logical
예제
연결 제한 시간 연장하기
연결 제한 시간을 20초로 늘립니다.
변수 url
에 지정된 서버로 전송되는 변수 request
에 지정된 요청 메시지의 디폴트 제한 시간 옵션을 변경합니다.
options = matlab.net.http.HTTPOptions('ConnectTimeout',20);
response = request.send(url,options);
버전 내역
R2016b에 개발됨
참고 항목
send
| MessageBody
| ProgressMonitor
| URI
| ContentProvider
| ContentConsumer
| Credentials
도움말 항목
MATLAB 명령
다음 MATLAB 명령에 해당하는 링크를 클릭했습니다.
명령을 실행하려면 MATLAB 명령 창에 입력하십시오. 웹 브라우저는 MATLAB 명령을 지원하지 않습니다.
Select a Web Site
Choose a web site to get translated content where available and see local events and offers. Based on your location, we recommend that you select: .
You can also select a web site from the following list:
How to Get Best Site Performance
Select the China site (in Chinese or English) for best site performance. Other MathWorks country sites are not optimized for visits from your location.
Americas
- América Latina (Español)
- Canada (English)
- United States (English)
Europe
- Belgium (English)
- Denmark (English)
- Deutschland (Deutsch)
- España (Español)
- Finland (English)
- France (Français)
- Ireland (English)
- Italia (Italiano)
- Luxembourg (English)
- Netherlands (English)
- Norway (English)
- Österreich (Deutsch)
- Portugal (English)
- Sweden (English)
- Switzerland
- United Kingdom (English)