XML HTTP ActiveX control





ProgID = Microsoft.XMLHTTP

[
  uuid(ED8C108D-4349-11D2-91A4-00C04F7969E8),
  helpstring("IXMLHTTPRequest Interface"),
  dual
]
dispinterface IXMLHTTPRequest {
    properties:
    methods:
        [id(0x00000001), helpstring("Open HTTP connection")]
        void open(
                        [in] BSTR bstrMethod, 
                        [in] BSTR bstrUrl, 
                        [in, optional] VARIANT varAsync, 
                        [in, optional] VARIANT bstrUser, 
                        [in, optional] VARIANT bstrPassword);
        [id(0x00000002), helpstring("Add HTTP request header")]
        void setRequestHeader(
                        [in] BSTR bstrHeader, 
                        [in] BSTR bstrValue);
        [id(0x00000003), helpstring("Get HTTP response header")]
        BSTR getResponseHeader([in] BSTR bstrHeader);
        [id(0x00000004), helpstring("Get all HTTP response headers")]
        BSTR getAllResponseHeaders();
        [id(0x00000005), helpstring("Send HTTP request")]
        void send([in, optional] VARIANT varBody);
        [id(0x00000006), helpstring("Abort HTTP request")]
        void abort();
        [id(0x00000007), propget, helpstring("Get HTTP status code")]
        long status();
        [id(0x00000008), propget, helpstring("Get HTTP status text")]
        BSTR statusText();
        [id(0x00000009), propget, helpstring("Get response body")]
        IDispatch* responseXML();
        [id(0x0000000a), propget, helpstring("Get response body")]
        BSTR responseText();
        [id(0x0000000b), propget, helpstring("Get response body")]
        VARIANT responseBody();
        [id(0x0000000c), propget, helpstring("Get response body")]
        VARIANT responseStream();
        [id(0x0000000d), propget, helpstring("Get ready state")]
        long readyState();
        [id(0x0000000e), propput, helpstring("Register a complete event handler")]
        void onreadystatechange([in] IDispatch* rhs);
};