이 번역 페이지는 최신 내용을 담고 있지 않습니다. 최신 내용을 영문으로 보려면 여기를 클릭하십시오.
weboptions
RESTful 웹 서비스에 대한 파라미터 지정
설명
options = weboptions
는 디폴트 weboptions
객체를 반환합니다. 이 객체를 통해 웹 서비스 요청을 위한 파라미터를 지정할 수 있습니다. weboptions
객체는 webread
, websave
, webwrite
함수에 대한 선택적 입력 인수일 수 있습니다. weboptions
함수에서 지원되지 않는 옵션에 대한 내용은 MATLAB에서 HTTP 사용하기 항목을 참조하십시오.
options = weboptions(
는 Name,Value
)weboptions
객체의 하나 이상의 속성을 지정합니다.
예제
디폴트 weboptions
객체
디폴트 weboptions
객체를 만들고 그 속성의 디폴트 값을 표시합니다.
options = weboptions
options = weboptions with properties: CharacterEncoding: 'auto' UserAgent: 'MATLAB 9.7.0.1112323 (R2019b)' Timeout: 5 Username: '' Password: '' KeyName: '' KeyValue: '' ContentType: 'auto' ContentReader: [] MediaType: 'auto' RequestMethod: 'auto' ArrayFormat: 'csv' HeaderFields: [] CertificateFilename: 'default'
weboptions 객체의 사용자 이름과 비밀번호
weboptions
객체에 웹 서비스 사용자 이름과 비밀번호를 설정합니다. 웹 서비스에 인증이 필요한 경우 이 객체를 webread
, websave
또는 webwrite
에 대한 입력 인수로 사용할 수 있습니다.
options = weboptions('Username','jdoe','Password','mypassword');
weboptions
객체를 표시해 보면 비밀번호가 잘 안 보입니다. 그러나 객체는 비밀번호를 일반 텍스트로 저장하고 있습니다. weboptions.Password
속성에서 비밀번호를 검색할 수 있습니다.
options.Password
ans = 'mypassword'
입력 인수
이름-값 인수
선택적 인수 쌍을 Name1=Value1,...,NameN=ValueN
으로 지정합니다. 여기서 Name
은 인수 이름이고 Value
는 대응값입니다. 이름-값 인수는 다른 인수 뒤에 와야 하지만, 인수 쌍의 순서는 상관없습니다.
R2021a 이전 릴리스에서는 쉼표를 사용하여 각 이름과 값을 구분하고 Name
을 따옴표로 묶으십시오.
예: weboptions('Timeout',60)
은 제한 시간 연결 길이를 60초로 설정하는 weboptions
객체를 만듭니다.
CharacterEncoding
— 문자 인코딩
'auto'
(디폴트 값) | string형 스칼라 | 문자형 벡터
웹 콘텐츠를 문자로 변환하기 위해 webread
에 사용되는 인코딩으로, string형 스칼라 또는 문자형 벡터로 지정됩니다. 일반적인 인코딩에는 'US-ASCII'
, 'UTF-8'
, 'latin1'
, 'Shift_JIS'
, 'ISO-8859-1'
이 포함됩니다. 디폴트 인코딩은 콘텐츠 유형에 따라 달라집니다. 텍스트 모양이 일그러진 경우 webread
인코딩이 문서에서 사용된 인코딩과 다를 수 있습니다. CharacterEncoding
을 UTF-8
로 설정해 보십시오.
UserAgent
— 사용자 에이전트 ID
['MATLAB ' version]
(디폴트 값) | string형 스칼라 | 문자형 벡터
사용자 에이전트 ID로, 클라이언트 사용자 에이전트를 나타내는 string형 스칼라 또는 문자형 벡터로 지정됩니다.
Timeout
— 제한 시간 연결 기간
5 (디폴트 값) | 양의 숫자형 스칼라 | Inf
제한 시간 연결 기간(단위: 초)으로, 양의 숫자형 스칼라로 지정됩니다. 이 값은 마지막 요청 패킷을 보낸 후 서버로부터 최초 응답(헤더)을 수신 대기하는 시간(초)입니다. Timeout
은 matlab.net.http.HTTPOptions
클래스의 ResponseTimeout 속성과 동일합니다. 최댓값은 2147.483647초입니다. Inf
를 사용하여 최댓값을 설정합니다.
일부 운영 체제에는 시스템에 의해 적용되는 최대 제한 시간이 있습니다. 이 제한 시간은 Timeout
값이 최댓값보다 큰 경우에도 적용됩니다. 예를 들어, Windows® 10에서 이 제한 시간은 21초입니다.
Username
— 사용자 ID
''
(디폴트 값) | string형 스칼라 | 문자형 벡터
사용자 ID로, 기본 및/또는 다이제스트 HTTP 인증(암호화 없음)에 사용되며 string형 스칼라 또는 문자형 벡터로 지정됩니다. 기본 HTTP 인증 체계에 대한 자세한 내용은 IETF®(Internet Engineering Task Force) 웹 사이트의 RFC 7617을 참조하십시오. HTTP 다이제스트 액세스 인증에 대한 자세한 내용은 RFC 7616을 참조하십시오.
Password
— 사용자 인증 비밀번호
''
(디폴트 값) | string형 스칼라 | 문자형 벡터
사용자 인증 비밀번호로, 기본 및/또는 다이제스트 HTTP 인증(암호화 없음)에 사용되며 string형 스칼라 또는 문자형 벡터로 지정됩니다. Password
설정으로 weboptions
객체를 표시할 경우, ‘*’가 포함된 문자형 벡터로 값이 표시됩니다. 그러나 이 객체는 Password
의 값을 일반 텍스트로 저장합니다.
KeyName
— 키의 이름
''
(디폴트 값) | string형 스칼라 | 문자형 벡터
키의 이름으로, string형 스칼라 또는 문자형 벡터로 지정됩니다. KeyName
은 HTTP 요청 헤더에 더해질 추가 이름입니다. 예를 들어, KeyName
은 웹 서비스 API 키 이름일 수 있습니다.
예: weboptions('KeyName','duration','KeyValue',7)
은 웹 서비스에 의해 정의된 키 이름 duration
이 포함된 weboptions
객체를 만듭니다.
KeyValue
— 키의 값
''
(디폴트 값) | string형 스칼라 | 문자형 벡터 | 숫자형 | 논리형
키의 값으로, HTTP 요청 헤더에 추가할 string형 스칼라, 문자형 벡터 또는 숫자형 값이나 논리값으로 지정됩니다. KeyValue
는 KeyName
으로 지정된 키의 값입니다.
예: weboptions('KeyName','duration','KeyValue',7)
은 키 이름 duration
과 쌍을 이루는 키 값 7
이 포함된 weboptions
객체를 만듭니다.
HeaderFields
— 헤더 필드의 이름과 값
문자열로 구성된 m×2 배열 또는 문자형 벡터로 구성된 셀형 배열
헤더 필드의 이름과 값으로, HTTP 요청 헤더에 추가할 문자열로 구성된 m×2 배열 또는 문자형 벡터로 구성된 셀형 배열로 지정됩니다. HeaderFields{i,1}
은 필드의 이름이고 HeaderFields{i,2}
는 그 값입니다.
이러한 헤더 필드는 webread
, webwrite
또는 websave
에 의해 자동으로 추가된 필드에 추가되거나 이를 대체합니다. 일반적으로는 이러한 필드가 추가되지만 이러한 필드 중 하나의 이름이 자동으로 추가될 필드 중 하나와 대/소문자 구분 없이 일치하고, 해당 필드가 여러 개의 값을 지원하지 않을 경우(예: Content-Type), 사용자가 지정하는 값이 대신 사용됩니다. 요청을 성공적으로 전송하기 위해 반드시 있어야 하는 값의 필드 유형(예: Connection 및 Content-Length)은 재정의할 수 없습니다.
예: weboptions('HeaderFields',{'Content-Length' '78';'Content-Type' 'application/json'})
은 두 개의 헤더 필드(값이 78
인 Content-Length
, 값이 application/json
인 Content-Type
)가 포함된 weboptions
객체를 만듭니다.
ContentType
— 콘텐츠 유형
'auto'
(디폴트 값) | string형 스칼라 | 문자형 벡터
콘텐츠 유형으로, string형 스칼라 또는 문자형 벡터로 지정됩니다. ContentType
을 사용하여 서버가 데이터를 우선적으로 특정 형식으로 반환하도록 요청합니다. webread
는 이 값을 사용하여 응답을 MATLAB® 유형으로 변환합니다. 서버는 가능한 경우 이 콘텐츠 유형을 반환하지만, 반드시 그래야 하는 것은 아닙니다.
| 출력 유형 | |||||||||
---|---|---|---|---|---|---|---|---|---|---|
| 출력 유형은 서버가 지정한 콘텐츠 유형을 기반으로 자동으로 결정됩니다. | |||||||||
| 아래 콘텐츠 유형에 대한 문자형 벡터:
웹 서비스가 | |||||||||
|
지원되는 이미지 형식을 보려면 가져오기 및 내보내기에 지원되는 파일 형식 항목을 참조하십시오. | |||||||||
| 숫자형 스칼라 샘플링 레이트를 두 번째 출력 인수로 포함하는 지원되는 오디오 형식을 보려면 가져오기 및 내보내기에 지원되는 파일 형식 항목을 참조하십시오. | |||||||||
| 이진 콘텐츠(즉, | |||||||||
| 스프레드시트 및 CSV( | |||||||||
|
| |||||||||
|
| |||||||||
|
|
예: weboptions('ContentType','text')
는 webread
가 텍스트, JSON 또는 XML 콘텐츠를 문자형 벡터로 반환하도록 지시하는 weboptions
객체를 만듭니다.
ContentReader
— 콘텐츠 리더
[]
(디폴트 값) | 함수 핸들
콘텐츠 리더로, 함수 핸들로 지정됩니다. 지정된 ContentReader
를 갖는 weboptions
객체를 만들고, 이 객체를 webread
에 입력 인수로 전달할 수 있습니다. 그러면 webread
는 웹 서비스에서 데이터를 다운로드하고 함수 핸들로 지정된 함수를 사용하여 데이터를 읽어옵니다. ContentReader
가 지정된 경우 webread
는 ContentType
을 무시합니다.
예: weboptions('ContentReader',@readtable)
은 webread
가 readtable
을 사용하여 콘텐츠를 테이블로 읽어오도록 지시하는 weboptions
객체를 만듭니다.
MediaType
— 미디어 형식
'auto'
(디폴트 값) | 'application/x-www-form-urlencoded'
| string형 스칼라 | 문자형 벡터 | matlab.net.http.MediaType
미디어 형식으로, string형 스칼라, 문자형 벡터 또는 matlab.net.http.MediaType
객체로 지정됩니다. MediaType
은 webwrite
가 웹 서비스에 전송하는 데이터형을 지정합니다. 이는 MATLAB이 서버에 지정하는 콘텐츠 유형을 지정하며, webwrite
data
인수(지정된 경우)를 변환하는 방식을 제어합니다. 자세한 내용은 IETF(Internet Engineering Task Force) 웹 사이트의 RFC 6838 Media Type Specifications and Registration Procedures를 참조하십시오.
디폴트 값은 'auto'
이며, MATLAB이 webwrite
에 대한 입력값을 기준으로 유형을 선택함을 나타냅니다. PostName/PostValue
인수 쌍을 사용할 경우 MATLAB은 'application/x-www-form-urlencoded'
를 사용하여 쌍을 전송합니다. data
인수가 string형 스칼라 또는 문자형 벡터라면 MATLAB은 해당 인수를 form-encoded 문자열로 가정하고 'application/x-www-form-urlencoded'
를 그대로 전송합니다. data
가 다른 유형이라면 MATLAB은 jsonencode
를 사용하여 해당 유형을 JSON으로 변환하고 콘텐츠 유형 'application/json'
을 사용합니다.
'json'
또는 'javascript'
가 포함된 MediaType
을 지정하고 data
가 문자형 벡터인 경우, 해당 벡터는 그대로 전송됩니다. string형 스칼라를 비롯하여 다른 모든 유형은 jsonencode
를 사용하여 변환됩니다.
'application/x-www-form-urlencoded'
를 지정하면 PostName/PostValue
쌍이 form-encoded로서 전송됩니다. data
(있는 경우)는 string형 또는 문자형 벡터여야 그대로 전송될 수 있습니다.
'xml'
을 포함한 MediaType
을 지정하고, data
가 문서 객체 모델(DOM) 객체 즉, Java org.apache.xerces.dom.DocumentImpl
인 경우, 해당 객체는 XML로 변환됩니다. data
(있는 경우)는 string형 또는 문자형 벡터여야 그대로 전송될 수 있습니다.
다른 MediaType
을 지정하고 data
가 string형 또는 문자형 벡터인 경우, weboptions
는 해당 값을 그대로 전송합니다.
PostName/PostValue
쌍은 MediaType
값 'auto'
및 'application/x-www-form-urlencoded'
에만 허용되며, 문자형 벡터는 MediaType
에 관계없이 항상 그대로 전송됩니다.
MediaType
문자열 내에 세미콜론으로 구분된 name=value
를 지정할 수 있습니다(예: 'application/json; odata=verbose'
). 일부 서버에서는 요청의 Content-Type 헤더 필드의 일부로서 이 형식을 요구합니다.
예: weboptions('MediaType','application/json')
은 webwrite
가 문자형 벡터 데이터를 JSON으로 인코딩하여 웹 서비스에 게시하도록 지시하는 weboptions
객체를 만듭니다.
RequestMethod
— HTTP 요청 메서드
'auto'
(디폴트 값) | string형 스칼라 | 문자형 벡터 | matlab.net.http.RequestMethod
열거형
HTTP 요청 메서드로, 다음 값 중 하나인 string형 스칼라, 문자형 벡터 또는 matlab.net.http.RequestMethod
열거형으로 지정됩니다.
'auto'
webread
와websave
는 HTTP GET 메서드를 사용합니다.webwrite
는 HTTP POST 메서드를 사용합니다.
'get'
-webread
함수와websave
함수에 사용합니다.'post'
-webread
함수,webwrite
함수,websave
함수에 사용합니다.'put'
-webread
함수,webwrite
함수,websave
함수에 사용합니다.'delete'
-webread
함수,webwrite
함수,websave
함수에 사용합니다.'patch'
-webread
함수,webwrite
함수,websave
함수에 사용합니다.
webread
함수와 websave
함수는 RequestMethod
에 관계없이 쿼리를 URL에 삽입합니다. webwrite
는 RequestMethod
에 관계없이 쿼리를 데이터에 삽입합니다.
예: weboptions('RequestMethod','post')
는 webread
, websave
또는 webwrite
가 웹 서비스의 HTTP POST 메서드를 사용하도록 지시하는 weboptions
객체를 만듭니다.
ArrayFormat
— 여러 개의 값을 나타내는 쿼리 또는 게시 값을 form-encode하기 위한 형식
'csv'
(디폴트 값) | 'json'
| 'repeating'
| 'php'
여러 개의 값을 나타내는 쿼리 또는 게시 값을 form-encode하기 위한 형식으로, 'csv'
, 'json'
, 'repeating'
또는 'php'
로 지정됩니다. 쿼리 또는 게시 값이 다음에 해당하는 경우 여러 개의 값이 포함됩니다.
숫자형, 논리형 또는
datetime
형 벡터둘 이상의 행으로 구성된 문자형 배열
각 요소가 숫자형, 논리형 또는
datetime
형 스칼라이거나 행이 한 개 있는 문자형 벡터인 셀형 벡터
다른 데이터형이나 차원은 지원되지 않습니다.
다음 표에서는 각 형식, 쿼리 파라미터 'parameter'
, 쿼리 값 [1 2 3]
에 대한 form-encoded 변환을 보여줍니다. 사용할 변환은 웹 서비스에 의해 지정됩니다.
| form-encoded 변환 |
---|---|
|
|
|
|
|
|
|
|
스칼라를 단일 요소 배열로서 'json'
또는 'php'
지정자로 인코딩하려면 스칼라를 단일 요소 셀형 배열에 배치하십시오.
예: weboptions('ArrayFormat','repeating')
은 webread
, websave
또는 webwrite
가 여러 개의 값을 가진 쿼리나 게시 값을 반복 쿼리 파라미터로서 form-encode하도록 지시하는 weboptions
객체를 만듭니다.
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
버전 내역
R2014b에 개발됨
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)