diff --git a/.gitignore b/.gitignore
index e08d0d8..63d1433 100644
--- a/.gitignore
+++ b/.gitignore
@@ -178,6 +178,7 @@
 include/gameux.h
 include/hlink.h
 include/htiframe.h
+include/httprequest.h
 include/iads.h
 include/icftypes.h
 include/iextag.h
diff --git a/include/Makefile.in b/include/Makefile.in
index b691ffa..c405d64 100644
--- a/include/Makefile.in
+++ b/include/Makefile.in
@@ -38,6 +38,7 @@
 	gameux.idl \
 	hlink.idl \
 	htiframe.idl \
+	httprequest.idl \
 	iads.idl \
 	icftypes.idl \
 	iextag.idl \
@@ -286,6 +287,7 @@
 	hlguids.h \
 	htmlhelp.h \
 	http.h \
+	httprequestid.h \
 	i_cryptasn1tls.h \
 	icm.h \
 	icmpapi.h \
diff --git a/include/httprequest.idl b/include/httprequest.idl
new file mode 100644
index 0000000..caa1238
--- /dev/null
+++ b/include/httprequest.idl
@@ -0,0 +1,186 @@
+/*
+ * Copyright 2011 Hans Leidekker for CodeWeavers
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2.1 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
+ */
+
+#include "httprequestid.h"
+
+import "oaidl.idl";
+
+[
+    uuid(662901fc-6951-4854-9eb2-d9a2570f2b2e),
+    helpstring("Microsoft WinHTTP Services, version 5.1"),
+    lcid(0x0000),
+    version(5.1)
+]
+library WinHttp {
+
+importlib ("stdole2.tlb");
+
+typedef [public] LONG   HTTPREQUEST_PROXY_SETTING;
+const HTTPREQUEST_PROXY_SETTING HTTPREQUEST_PROXYSETTING_DEFAULT    = 0x00000000;
+const HTTPREQUEST_PROXY_SETTING HTTPREQUEST_PROXYSETTING_PRECONFIG  = 0x00000000;
+const HTTPREQUEST_PROXY_SETTING HTTPREQUEST_PROXYSETTING_DIRECT     = 0x00000001;
+const HTTPREQUEST_PROXY_SETTING HTTPREQUEST_PROXYSETTING_PROXY      = 0x00000002;
+
+typedef [public] LONG   HTTPREQUEST_SETCREDENTIALS_FLAGS;
+const HTTPREQUEST_SETCREDENTIALS_FLAGS  HTTPREQUEST_SETCREDENTIALS_FOR_SERVER   = 0x00000000;
+const HTTPREQUEST_SETCREDENTIALS_FLAGS  HTTPREQUEST_SETCREDENTIALS_FOR_PROXY    = 0x00000001;
+
+typedef
+[uuid(12782009-fe90-4877-9730-e5e183669b19)]
+enum WinHttpRequestOption
+{
+    WinHttpRequestOption_UserAgentString,
+    WinHttpRequestOption_URL,
+    WinHttpRequestOption_URLCodePage,
+    WinHttpRequestOption_EscapePercentInURL,
+    WinHttpRequestOption_SslErrorIgnoreFlags,
+    WinHttpRequestOption_SelectCertificate,
+    WinHttpRequestOption_EnableRedirects,
+    WinHttpRequestOption_UrlEscapeDisable,
+    WinHttpRequestOption_UrlEscapeDisableQuery,
+    WinHttpRequestOption_SecureProtocols,
+    WinHttpRequestOption_EnableTracing,
+    WinHttpRequestOption_RevertImpersonationOverSsl,
+    WinHttpRequestOption_EnableHttpsToHttpRedirects,
+    WinHttpRequestOption_EnablePassportAuthentication,
+    WinHttpRequestOption_MaxAutomaticRedirects,
+    WinHttpRequestOption_MaxResponseHeaderSize,
+    WinHttpRequestOption_MaxResponseDrainSize,
+    WinHttpRequestOption_EnableHttp1_1,
+    WinHttpRequestOption_EnableCertificateRevocationCheck,
+    WinHttpRequestOption_RejectUserpwd
+} WinHttpRequestOption;
+
+typedef
+[uuid(9d8a6df8-13de-4b1f-a330-67c719d62514)]
+enum WinHttpRequestAutoLogonPolicy
+{
+    AutoLogonPolicy_Always,
+    AutoLogonPolicy_OnlyIfBypassProxy,
+    AutoLogonPolicy_Never
+} WinHttpRequestAutoLogonPolicy;
+
+[
+    object,
+    uuid(016fe2ec-b2c8-45f8-b23b-39e53a75396b),
+    odl,
+    dual,
+    oleautomation,
+    nonextensible,
+    pointer_default(unique)
+]
+interface IWinHttpRequest : IDispatch
+{
+    [id(DISPID_HTTPREQUEST_SETPROXY)]
+    HRESULT SetProxy(
+        [in] HTTPREQUEST_PROXY_SETTING proxy_setting,
+        [in, optional] VARIANT proxy_server,
+        [in, optional] VARIANT bypass_list);
+
+    [id(DISPID_HTTPREQUEST_SETCREDENTIALS)]
+    HRESULT SetCredentials(
+        [in] BSTR username,
+        [in] BSTR password,
+        [in] HTTPREQUEST_SETCREDENTIALS_FLAGS flags);
+
+    [id(DISPID_HTTPREQUEST_OPEN)]
+    HRESULT Open(
+        [in] BSTR method,
+        [in] BSTR url,
+        [in, optional] VARIANT async);
+
+    [id(DISPID_HTTPREQUEST_SETREQUESTHEADER)]
+    HRESULT SetRequestHeader(
+        [in] BSTR header,
+        [in] BSTR value);
+
+    [id(DISPID_HTTPREQUEST_GETRESPONSEHEADER)]
+    HRESULT GetResponseHeader(
+        [in] BSTR header,
+        [out, retval] BSTR *value);
+
+    [id(DISPID_HTTPREQUEST_GETALLRESPONSEHEADERS)]
+    HRESULT GetAllResponseHeaders(
+        [out, retval] BSTR *headers);
+
+    [id(DISPID_HTTPREQUEST_SEND)]
+    HRESULT Send(
+        [in, optional] VARIANT body);
+
+    [propget, id(DISPID_HTTPREQUEST_STATUS)]
+    HRESULT Status(
+        [out, retval] LONG *status);
+
+    [propget, id(DISPID_HTTPREQUEST_STATUSTEXT)]
+    HRESULT StatusText(
+        [out, retval] BSTR *status);
+
+    [propget, id(DISPID_HTTPREQUEST_RESPONSETEXT)]
+    HRESULT ResponseText(
+        [out, retval] BSTR *body);
+
+    [propget, id(DISPID_HTTPREQUEST_RESPONSEBODY)]
+    HRESULT ResponseBody(
+        [out, retval] VARIANT *body);
+
+    [propget, id(DISPID_HTTPREQUEST_RESPONSESTREAM)]
+    HRESULT ResponseStream(
+        [out, retval] VARIANT *body);
+
+    [propget, id(DISPID_HTTPREQUEST_OPTION)]
+    HRESULT Option(
+        [in] WinHttpRequestOption option,
+        [out, retval] VARIANT *value);
+
+    [propput, id(DISPID_HTTPREQUEST_OPTION)]
+    HRESULT Option(
+        [in] WinHttpRequestOption option,
+        [in] VARIANT value);
+
+    [id(DISPID_HTTPREQUEST_WAITFORRESPONSE)]
+    HRESULT WaitForResponse(
+        [in, optional] VARIANT timeout,
+        [out, retval] VARIANT_BOOL *succeeded);
+
+    [id(DISPID_HTTPREQUEST_ABORT)]
+    HRESULT Abort();
+
+    [id(DISPID_HTTPREQUEST_SETTIMEOUTS)]
+    HRESULT SetTimeouts(
+        [in] LONG resolve_timeout,
+        [in] LONG connect_timeout,
+        [in] LONG send_timeout,
+        [in] LONG receive_timeout);
+
+    [id(DISPID_HTTPREQUEST_SETCLIENTCERTIFICATE)]
+    HRESULT SetClientCertificate(
+        [in] BSTR certificate);
+
+    [id(DISPID_HTTPREQUEST_SETAUTOLOGONPOLICY)]
+    HRESULT SetAutoLogonPolicy(
+        [in] WinHttpRequestAutoLogonPolicy policy);
+}
+[
+    helpstring("WinHttpRequest Component version 5.1"),
+    threading(apartment),
+    progid("WinHttp.WinHttpRequest.5.1"),
+    uuid(2087c2f4-2cef-4953-a8ab-66779b670495)
+]
+coclass WinHttpRequest { interface IWinHttpRequest; }
+
+} /* WinHttp */
diff --git a/include/httprequestid.h b/include/httprequestid.h
new file mode 100644
index 0000000..9860b1f
--- /dev/null
+++ b/include/httprequestid.h
@@ -0,0 +1,42 @@
+/*
+ * Copyright 2011 Hans Leidekker for CodeWeavers
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2.1 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
+ */
+
+#ifndef __WINE_HTTPREQUESTID_H
+#define __WINE_HTTPREQUESTID_H
+
+#define DISPID_HTTPREQUEST_BASE                     1
+#define DISPID_HTTPREQUEST_OPEN                     (DISPID_HTTPREQUEST_BASE)
+#define DISPID_HTTPREQUEST_SETREQUESTHEADER         (DISPID_HTTPREQUEST_BASE + 1)
+#define DISPID_HTTPREQUEST_GETRESPONSEHEADER        (DISPID_HTTPREQUEST_BASE + 2)
+#define DISPID_HTTPREQUEST_GETALLRESPONSEHEADERS    (DISPID_HTTPREQUEST_BASE + 3)
+#define DISPID_HTTPREQUEST_SEND                     (DISPID_HTTPREQUEST_BASE + 4)
+#define DISPID_HTTPREQUEST_OPTION                   (DISPID_HTTPREQUEST_BASE + 5)
+#define DISPID_HTTPREQUEST_STATUS                   (DISPID_HTTPREQUEST_BASE + 6)
+#define DISPID_HTTPREQUEST_STATUSTEXT               (DISPID_HTTPREQUEST_BASE + 7)
+#define DISPID_HTTPREQUEST_RESPONSETEXT             (DISPID_HTTPREQUEST_BASE + 8)
+#define DISPID_HTTPREQUEST_RESPONSEBODY             (DISPID_HTTPREQUEST_BASE + 9)
+#define DISPID_HTTPREQUEST_RESPONSESTREAM           (DISPID_HTTPREQUEST_BASE + 10)
+#define DISPID_HTTPREQUEST_ABORT                    (DISPID_HTTPREQUEST_BASE + 11)
+#define DISPID_HTTPREQUEST_SETPROXY                 (DISPID_HTTPREQUEST_BASE + 12)
+#define DISPID_HTTPREQUEST_SETCREDENTIALS           (DISPID_HTTPREQUEST_BASE + 13)
+#define DISPID_HTTPREQUEST_WAITFORRESPONSE          (DISPID_HTTPREQUEST_BASE + 14)
+#define DISPID_HTTPREQUEST_SETTIMEOUTS              (DISPID_HTTPREQUEST_BASE + 15)
+#define DISPID_HTTPREQUEST_SETCLIENTCERTIFICATE     (DISPID_HTTPREQUEST_BASE + 16)
+#define DISPID_HTTPREQUEST_SETAUTOLOGONPOLICY       (DISPID_HTTPREQUEST_BASE + 17)
+
+#endif /* __WINE_HTTPREQUESTID_H */
