Gzip으로 인코딩된 API 응답모두,
내부 API를 탭하고 있는데 API 끝점의 예상 응답은 Excel 파일입니다. 그러나 HTTP 요청을 사용하려고 하면 응답을 받습니다. 응답이 인코딩되어 있다고 가정하고 있지만 데이터를 추출하여 사용하는 좋은 방법이 무엇인지 궁금합니다.
엔드포인트에 대한 요청은 다음과 같습니다.
HeaderStr = "Authorization: Bearer " || AccessToken;
Request = New HTTP Request(
URL( URLDes ),
Method( "Get" ),
Headers( {HeaderStr} )
) << Send;내가 받은 응답은 다음과 같습니다.
"PK"
Re: Gzip으로 인코딩된 API 응답물론이야 @bryan_boone . 저는 JMP를 더 좋고 쉽게 만드는 데 기여하는 것을 좋아합니다. 
Re: Gzip으로 인코딩된 API 응답@uday_guntupalli
가지고 있는 훌륭한 사용법입니다.
HTTP 요청 << 수락, 예를 들어 "blob" 또는 "text" 인수를 보냅니다.
JMP 15용으로 살펴보겠습니다. 위시리스트 항목으로 추가하시겠습니까?
감사
-브라이언
Re: Gzip으로 인코딩된 API 응답보내기 대신 다운로드를 계속 사용할 수 있습니다.
위의 내용은 웹 서비스에서 전체 다운로드를 받았음을 나타냅니다. (어느 것이 좋니)
보내기 대신 다운로드를 사용하려면 다음과 같이 하십시오.
filename = request << Download("$temp/Test1.xlsx", "replace"); //file is the filename returned by the web server. replace will replace it.
if( !IsEmpty(filename), //a filename is empty if the download fails
//process your file
);
귀하의 경우 mimetype은 엑셀 스프레드시트가 아닌 "text/html"입니다. 방금 이름을 xlsx 확장명으로 지정했습니다.
웹 서비스에 Excel 스프레드시트에 대한 다른 엔드포인트가 있는 경우 이를 사용하십시오.
또는
웹 서비스에서 "수락" 헤더를 사용하여 Excel 스프레드시트를 지정하는 경우 해당 헤더를 사용하십시오.
그렇지 않으면
텍스트 편집기로 파일을 열어 내용을 확인합니다. (또는 브라우저) mimetype에 따라 html을 다운로드했습니다.
Re: Gzip으로 인코딩된 API 응답@bryan_boone ,
감사합니다.

이것이 어느 정도 도움이 되지만 데이터를 다운로드하고 압축을 풀고 JMP 내에서 해석하는 것 외에 다른 방법이 없습니다. 제 해석이 맞습니까? 아니면 다른 접근 방식이 있습니까?
Re: Gzip으로 인코딩된 API 응답코드에 있는 것은 Request가 Send의 결과라는 것입니다.
나는 *생각* 당신이 원하는 것은:
request = New Http Request(
URL( URLDes),
Method("GET"),
Headers({HeaderStr})
); //request is the request object
data = request << Send(); //data is the data returned by the web server
이렇게 하면 서비스와 상호 작용한 후 요청 상태를 검사할 수 있습니다.
나는 일반적으로 HTTP 요청에 대해 3단계로 생각합니다.
창조하다
구성
보내다
Re: Gzip으로 인코딩된 API 응답@bryan_boone ,
모든 메시지는 동일한 오류를 반환합니다. 다음과 같이 파일을 다운로드하려고 할 때 @Craige_Hales 권장됨, 제대로 작동하지만 진단 기능 중 어느 것도 결과를 생성하지 않음
Re: Gzip으로 인코딩된 API 응답@제프_퍼킨슨 ,
내가받는 오류는 다음과 같습니다.
열려고 했습니다: /C:/Users/Test.xlsx
'Open' , Open/*###*/("C:\Users\Test.xlsx") 액세스 또는 평가에서 테이블을 열 수 없습니다.
Re: Gzip으로 인코딩된 API 응답추가적으로,
무엇을
request << Get Status Message
보여 주다?
이것이 웹 서버의 상태 메시지입니다(200이 양호함).
다음이 있습니다.
request << Get Status // a number
//booleans
request << Is Successful
request << Has Error
request << Has Client Error
request << Has Server Error
request << Has Information
request << Has Redirection
이를 통해 연결 및 서버에 대한 요청에 대한 정보를 제공할 수 있습니다.
Re: Gzip으로 인코딩된 API 응답request << Send()는 BLOB 또는 텍스트를 반환합니다.
통화 내용을 확인하려면 다음을 수행하세요.
request << Get Mime Type();
대부분은 여기에서 다룹니다.
https://developer.mozilla.org/en-US/docs/Web/HTTP/Basics_of_HTTP/MIME_types/Complete_list_of_MIME_types
실제로 MIME 유형 정보를 추가하는 것은 서버에 달려 있지만 요즘에는 대부분 그렇게 합니다.
Re: Gzip으로 인코딩된 API 응답
@uday_guntupalli 쓴 :
파일이 다운로드되지만 JMP에서 수동으로 또는 스크립트를 통해 파일을 열 수 없습니다. 다운로드와 열기 사이에 wait()를 삽입하려고 시도했지만 도움이 되지 않았습니다.

"In the following script..." 줄 위에 있는 나머지 오류 메시지는 무엇입니까?
Excel을 사용하여 다운로드한 .xlsx 파일을 열 수 있습니까?
Re: Gzip으로 인코딩된 API 응답@Craige_Hales ,
크레이지 감사합니다. 95% 내 방식대로 가져옵니다. 파일이 다운로드되지만 JMP에서 수동으로 또는 스크립트를 통해 파일을 열 수 없습니다. 다운로드와 열기 사이에 wait()를 삽입하려고 시도했지만 도움이 되지 않았습니다.

Re: Gzip으로 인코딩된 API 응답<<
request = New HTTP Request(
URL(
"http://drawoutside.com/abc123.xlsx"
),
Method( "Get" )
);
request<<DOWNLOAD></DOWNLOAD>
JMP's open function imported the xlsx filexlsx 파일을 가져온 JMP의 열기 기능
@bryan_boone
Re: Gzip으로 인코딩된 API 응답@Craige_Hales ,
일하지 않을 때 저를 안내해 주셔서 감사합니다. 내일 돌아오면 해보자. 그러나 내가 한 일은 다음과 같습니다.
응답이 실제로 zip 파일인 경우 작동하지 않습니다. R에서 WriteBin 명령과 내용 명령을 사용하여 Excel 파일로 작성할 수 있었기 때문에 Excel 파일이라고 생각합니다. 그러나 JMP에서 캡처하는 방법에 대한 단서가 없습니다.
추가로 나는 이것을 시도했습니다.
또한 오류가 발생합니다.
파일 오류: 경로가 잘못되었습니다: \PK.
Re: Gzip으로 인코딩된 API 응답실제로 엑셀 파일은 아마도 xlsx 확장자를 가진 zip 파일일 것입니다. 당신은 이미 정확히 당신이 기대하는 것을 가지고 있을지도 모릅니다.
Re: Gzip으로 인코딩된 API 응답"PK"는 .zip 파일의 서명입니다. 데이터가 blob에서 수신된 경우(텍스트에는 이진 데이터가 없음) JMP의 zip 아카이브 개체를 사용하여 다음과 같이 열 수 있습니다(지금은 작동하지 않음...).
za = open(blob,"zip");
자<<구성원
자<<개방(멤버)
(스크립팅 색인에서 가장 잘 보입니다.)