Excel에서 HTTPS를 통해 웹 쿼리에 액세스하려면 어떻게 해야 합니까?

StackOverflow https://stackoverflow.com/questions/2206943

  •  18-09-2019
  •  | 
  •  

문제

Excel에서 제공하는 웹 쿼리 기능을 통해 제공되는 데이터를 Excel 사용자가 사용할 수 있는 페이지를 구현하려고 합니다.

HTTP를 사용하는 한 모든 것이 꽤 잘 작동합니다(BASIC 사용자 인증도 작동함).

HTTPS로 전환하자마자 Excel은 더 이상 데이터를 다운로드하지 않습니다(완전히 공식 SSL 인증서이므로 자체 서명된 인증서에는 문제가 되지 않습니다).

이 Microsoft 기술 자료 문서 문제를 거의 설명합니다.

이제 나를 궁금하게 만드는 부분은 다음과 같습니다.

이 문제는 보안 웹 서버의 설정으로 인해 Excel에서 연결을 시작할 수 없을 때 발생합니다.

있다는 뜻인 것 같습니다. 일부 이 작업을 수행하는 방법은 있지만 내가 봐야 할 방향에 대한 힌트조차 없습니다.

"보안 웹 서버의 설정 때문에"라는 말을 액면 그대로 받아들여야 할까요, 아니면 "우리에게서 올바른 소프트웨어를 구입하지 않으면 작동하지 않습니다"라고 말하는 Microsoft의 표현일까요?

도움이 되었습니까?

해결책

문제를 발견 한 것 같습니다.

MS Excel은 페이지의 HTTP 헤더가 캐시가되지 않도록 지정하면 페이지의 데이터를 사용할 수없는 것 같습니다. 그리고 HTTPS를 통해 전송됩니다 (HTTP를 통해 전송 된 동일한 헤더는 무시되는 것 같습니다).

그래서 ~ 아니다 이 헤더를 보내면서 Excel은 갑자기 데이터에 액세스 할 수있었습니다.

Pragma: no-cache
Cache-Control: no-cache

다른 팁

Joachim의 답변으로 문제가 해결되었습니다.서버측 웹 프레임워크(PHP5/Expression Engine 1.6.7)가 Pragma를 보내고 있었습니다.모든 요청에 ​​대해 캐시가 없습니다(내 웹 쿼리 결과 페이지에 Pragma가 설정되어 있음에도 불구하고:공개된 경우 프레임워크가 이를 무시한 것 같습니다.)제거하고 나면 모든 것이 작동하기 시작했습니다.

Pragma에 대한 IE 및 Office 동작:캐시 없음은 다음에 설명된 것과 유사합니다. MS KB 문서:Internet Explorer가 SSL 웹 사이트에서 Office 문서를 열 수 없습니다.

이 캐싱 튜토리얼도 참조하세요. 경고:Pragma 캐시 없음 더 이상 사용되지 않음.이를 염두에 두고 Expression Engine의 출력 및 디버깅 > HTTP 페이지 헤더 생성?을 설정했습니다.옵션을 아니요로 설정하세요.(다른 프레임워크에도 비슷한 구성 옵션이 있습니다).그러나 사이트의 나머지 부분을 성공적으로 캐싱하려면 자동으로 전송된 다른 헤더 중 일부가 필요했기 때문에 Pragma를 주석 처리하기로 결정했습니다.프레임워크 소스 코드의 캐시 없음 라인.

웹 서버/프레임워크에서 보낸 HTTP 헤더를 수정할 수 있는 옵션이 없는 경우 유일한 MS-Office 클라이언트 측 전용 옵션은 VBA 매크로를 사용하여 Internet Explorer 구성 요소를 자동화하여 Office의 캐싱 동작을 해결하는 것입니다. .보다 Microsoft Office Excel 2003에서 웹 쿼리를 사용하는 다양한 방법 출발점으로.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top