반응형
□ XMLHTTP 라이브러리
XMLHTTP는 VBA(Visual Basic for Applications)에서 웹 서버와의 HTTP 통신을 가능하게 해주는 객체입니다. 이 객체를 사용하면 VBA 코드에서 HTTP 요청을 보내고, 웹 서버로부터 응답을 받을 수 있습니다. 이를 통해 웹 페이지의 데이터를 가져오거나 웹 API와 통신할 수 있습니다.
Open | . HTTP 요청을 초기화합니다. . 구문: Open(method, url, async, username, password) . 예: http.Open "GET", "https://example.com", False |
Send | . HTTP 요청을 서버에 보냅니다. . 구문: Send(body) . 예: http.Send |
setRequestHeader | .HTTP 요청 헤더를 설정합니다. .구문: setRequestHeader(header, value) .예: http.setRequestHeader "Content-Type", "application/x-www-form-urlencoded" |
responseText | .서버로부터 받은 응답을 문자열로 반환합니다. .구문: responseText .예: Dim response As String: response = http.responseText |
responseXML | .서버로부터 받은 응답을 XML DOM 객체로 반환합니다. .구문: responseXML .예: Set xmlDoc = http.responseXML |
status | .HTTP 응답 상태 코드를 반환합니다. .구문: status .예: If http.status = 200 Then |
statusText | .HTTP 응답 상태 텍스트를 반환합니다. .구문: statusText .예: Dim statusText As String: statusText = http.statusText |
샘플코드
Sub GetWebPageData()
Dim http As Object
Dim url As String
Dim responseText As String
' XMLHTTP 객체 생성
Set http = CreateObject("MSXML2.XMLHTTP")
' 요청할 URL 설정
url = "https://example.com"
' GET 요청 초기화
http.Open "GET", url, False
' 요청 보내기
http.Send
' 상태 코드 확인
If http.status = 200 Then
' 응답 텍스트 가져오기
responseText = http.responseText
' Immediate Window에 출력
Debug.Print responseText
Else
' 오류 상태 코드 처리
Debug.Print "HTTP 요청 실패: " & http.status & " - " & http.statusText
End If
' 객체 해제
Set http = Nothing
End Sub
참고자료
'VBA For Windchill' 카테고리의 다른 글
Windchill REST Services (WRS) (0) | 2024.07.01 |
---|---|
Windchill & VBA 03) - Get Product Name (0) | 2024.06.30 |
HTTP (0) | 2024.06.30 |
DOM (Document Object Model) 이란? (0) | 2024.06.30 |
VBA Web Parsing 1/2 (0) | 2024.06.30 |