Main Content

이 번역 페이지는 최신 내용을 담고 있지 않습니다. 최신 내용을 영문으로 보려면 여기를 클릭하십시오.

websave

RESTful 웹 서비스의 콘텐츠를 파일로 저장

설명

예제

outfilename = websave(filename,url)url에서 지정한 웹 서비스에서 제공하는 콘텐츠를 저장하고 이를 filename에 씁니다. websave 함수는 filename의 전체 경로를 outfilename으로 반환합니다.

웹 서비스는 JSON, XML, 이미지 또는 텍스트와 같은 인터넷 미디어 유형으로 형식이 지정된 데이터를 반환하는 RESTful 항목을 제공합니다.

예제

outfilename = websave(filename,url,QueryName1,QueryValue1,...,QueryNameN,QueryValueN)은 쿼리 파라미터를 하나 이상의 이름-값 인수로 지정하여 url에 추가합니다. 웹 서비스는 쿼리 파라미터를 정의합니다.

예제

outfilename = websave(___,options)weboptions 객체 options에서 지정한 다른 HTTP 요청 옵션을 추가합니다. 이 구문은 위에 열거된 구문 중 하나의 입력 인수에 사용할 수 있습니다.

websave는 HTTP GET 메서드와 POST 메서드를 지원합니다. HTTP POST 요청을 보내려면 optionsRequestMethod 속성을 'post'로 지정하십시오. 많은 웹 서비스는 GET 메서드와 POST 메서드를 모두 제공하여 데이터를 요청합니다.

예제

모두 축소

Hubble Heritage 웹 사이트에서 목성 이미지를 저장합니다.

url = 'https://hubblesite.org/uploads/image_file/image_attachment/14836/compass_large_web.jpg';
filename = 'jupiter_aurora.jpg';
outfilename = websave(filename,url)
outfilename =

C:\Libraries\Documents\jupiter_aurora.jpg

websave는 사용자가 filename에 다른 확장자를 지정하더라도 이미지를 Hubble 웹 서비스에서 지정한 대로 JPEG 파일로 저장합니다. (NASA, ESA, Hubble Heritage 팀(STScI/AURA)에서 제공하는 목성 이미지입니다. 사용 약관은 Space Telescope Science Institute를 참조하십시오).

File Exchange에서 최근 7일 내에 업로드되었고 Simulink®라는 단어를 포함하는 파일을 검색한 다음, 검색 결과를 표시합니다.

url = 'https://www.mathworks.com/matlabcentral/fileexchange/';
filename = 'simulink_search.html';
outfilename = websave(filename,url,'term','simulink','duration',7)
outfilename =

C:\Libraries\Documents\simulink_search.html

HTML 파일을 웹 브라우저에 표시합니다.

web(outfilename)

NGDC(National Geophysical Data Center)에서 제공하는 태양의 흑점 데이터를 ASCII 파일에 저장합니다. weboptions 객체를 사용하여 연결 시간을 초과하지 않도록 제한 시간 값을 Inf로 설정합니다.

api = 'http://www.ngdc.noaa.gov/stp/space-weather/';
url = [api 'solar-data/solar-indices/sunspot-numbers/' ...
       'american/lists/list_aavso-arssn_yearly.txt'];
filename = 'sunspots_annual.txt';
options = weboptions('Timeout',Inf);
outfilename = websave(filename,url,options)
outfilename =

C:\Libraries\Documents\sunspots_annual.txt

NGDC에서 제공하는 집계된 데이터와 웹 서비스입니다. AAVSO(American Association of Variable Star Observers)에서 제공하는 태양의 흑점 데이터로, 원래 AAVSO Sunspot Counts: 1943-2013, AAVSO Solar Section (R. Howe, Chair)에 게재됨. (NGDC 사용 약관에 대해서는 NGDC 개인정보 보호 정책, 고지 사항, 저작권을 참조하고, AAVSO 사용 약관에 대해서는 AAVSO Solar Section을 참조하십시오.)

NEO(NASA Earth Observation) 웹 매핑 서비스에서 제공하는 2004년 12월의 Blue Marble: Next Generation 이미지를 저장합니다.

datetime 객체를 사용하여 요청한 이미지의 날짜를 지정합니다. 형식이 웹 서비스에 필요한 형식과 일치하도록 DFormat 속성을 지정합니다.

url = 'http://neowms.sci.gsfc.nasa.gov/wms/wms';
D = datetime(2004,12,01,'Format','yyyy-MM-dd');
filename = 'BlueMarble.jpg';
outfilename = websave(filename,url,'Time',D, ...
     'Service','WMS','Layers','BlueMarbleNG-TB','CRS','CRS:84', ...
     'Format','image/jpeg','Height',256,'Width',512, ...
     'BBOX','-180.0,-90.0,180.0,90.0','Version','1.3.0','Request','GetMap')
outfilename =

C:\Libraries\Documents\BlueMarble.jpg

websavedatetime 객체를 변환해 웹 서비스 쿼리 파라미터의 값이 되도록 합니다. 예제의 모든 이름-값 쌍은 NEO 웹 매핑 서비스에서 지정하는 쿼리 파라미터를 제공합니다.

NASA의 Earth Observatory에서 제공하는 Blue Marble: Next Generation + Topography and Bathymetry 이미지입니다. NEO 웹 매핑 서비스(WMS)에서 제공한 영상과 서비스에 액세스합니다. (자료 출처 및 사용 약관에 대해서는 NASA Earth Observations를 참조하십시오. WMS 쿼리 파라미터에 대해서는 NASA Earth Observations 사이트 WMS 1.3.0 Capabilities를 검색하십시오.)

웹사이트에서 JSON 데이터를 읽어와 파일 test.txt에 저장합니다.

uri = matlab.net.URI('http://httpbin.org/get');
websave('test.txt',uri,weboptions('ContentType','json'));

파일에 저장된 텍스트를 JSON 데이터의 구조체로 읽어옵니다.

js = jsondecode(fileread('test.txt'))
js = 

  struct with fields:

       args: [1×1 struct]
    headers: [1×1 struct]
     origin: '144.444.4.4'
        url: 'http://httpbin.org/get'

입력 인수

모두 축소

콘텐츠를 저장할 파일의 이름으로, 문자형 벡터 또는 string형 스칼라로 지정됩니다. websave는 콘텐츠를 있는 그대로 저장합니다. websaveoptions.ContentType 속성과 options.ContentReader 속성이 설정되어 있더라도, 이들 속성을 무시합니다.

예: websave('matlabcentral.html','https://www.mathworks.com/matlabcentral')은 해당 웹 페이지를 읽고 그 페이지의 HTML을 matlabcentral.html 파일에 저장합니다.

웹 서비스에 대한 URL로, 문자형 벡터 또는 string형 스칼라로 지정됩니다. 전송 프로토콜을 포함합니다. httphttps만 지원됩니다. 웹 서비스는 RESTful 인터페이스를 구현합니다. 자세한 내용은 RESTful 항목을 참조하십시오.

웹 서비스 쿼리 파라미터로, 하나 이상의 이름-값 쌍 인수로 지정됩니다. QueryName 인수는 쿼리 파라미터의 이름을 지정해야 합니다. QueryValue 인수는 쿼리 파라미터의 값을 지정하는 문자형 벡터 또는 string형 스칼라이거나 숫자형, 논리형 또는 datetime형 값이어야 합니다. 숫자형, 논리형, datetime형 값이 배열에 들어 있을 수 있습니다. 웹 서비스는 요청의 일부로 받는 이름-값 쌍을 정의합니다.

QueryValuedatetime 객체로 지정하면 이 객체의 Format 속성을 웹 서비스에 필요한 형식과 일치하도록 지정해야 합니다. Format 속성이 표준 시간대나 오프셋을 포함하고, datetime 객체의 시간대가 지정되지 않은 경우, websave'Local'을 표준 시간대로 지정합니다.

QueryValue가 배열에 여러 개의 값을 포함할 경우, weboptions 객체의 ArrayFormat 속성을 지정하여 웹 서비스에서 지정한 대로 배열을 form-encode해야 할 수 있습니다.

예: websave('webread_search.html','https://www.mathworks.com/matlabcentral/fileexchange/','term','simulink')는 File Exchange에 업로드된 파일 중 simulink라는 단어를 포함하는 파일의 목록을 검색하고, 검색 결과를 HTML 파일에 저장합니다.

추가 HTTP 요청 옵션으로, weboptions 객체로 지정됩니다. weboptions 속성에 해당하는 모든 요청 옵션에 대해서는 weboptions를 참조하십시오.

세부 정보

모두 축소

RESTful

RESTREpresentational State Transfer 즉, 웹 서비스에 대한 공통된 구조적 스타일을 의미합니다. RESTful 인터페이스는 GET, PUT, POST 또는 DELETE와 같은 표준 HTTP 메서드를 제공합니다.

  • RESTful 웹 서비스 기능에서 지원하지 않는 기능에 대해서는 HTTP 인터페이스 항목을 참조하십시오.

  • HTTP POST 요청의 경우, websave 함수는 application/x-www-form-urlencoded 미디어 유형만 지원합니다. 다른 인터넷 미디어 유형의 콘텐츠와 함께 POST 요청을 보내려면 webwrite를 사용하십시오.

R2014b에 개발됨