서버에 HTTP GET 요청을해야하고 응답이 중요하지 않은 (서버에서 프로세스를 시작하는) 매우 간단한 매크로를 작성하고 있습니다. HTTP GET에는 인증이 필요하지 않습니다. 나는이 작업을 수행하려면 다음 코드를 사용하고OSX Excel에서 VBA를 사용하여 HTTP 요청 받기
는 "성공적으로"(서버 로그는 요청이 서버에 만든 표시하지만 서버는 HTTP 406 실행) :
Function callAPI(Url As String)
With ActiveSheet.QueryTables.Add(Connection:="URL;" & Url, Destination:=Range("D15"))
.PostText = ""
.RefreshStyle = xlOverwriteCells
.SaveData = True
.Refresh
End With
End Function
을하지만 돌아 가야 서버에서 다음과 같은 응답 :
Unable to open http://someurl.com Cannot locate the Internet server or proxy server.
내가 서버를 볼 수는 GET 요청이 올바른 Content-Type
헤더를 전송하지 않기 때문에 몇 가지 조사가 발생 후, HTTP 406을 반환합니다.
그래서 제 질문은 - 어떻게 헤더를 설정하는 ActiveSheet.QueryTables.Add
을 알 수 있습니까, 또는 어떻게이 특정 GET의 CALL 여기
어쩌면이를 확인을 http://stackoverflow.com/questions/15981960/ how-do-i-issue-http-get-from-excel-vba-for-mac-2011은 기본적으로 HTTP GET을 수행하는 방법으로 QueryTables 메소드를 사용하는 대신 cURL을 사용하는 것을 말합니다. 이 방법으로 요청 헤더를 설정할 수 있습니다. –