In this video I walk through both the xmlHTTPRequest and the WinHTTPRequest and I compare the xmlHTTPRequest vs. WinHTTPRequest. As I mention in the video, Jackie Sztuk and I have a great AutoHotkey webinar on Intro to API calls. I also have several examples on my API page.
I also mention using Fiddler to monitor the browser traffic and grab your cookies / headers.
xmlHTTPRequest vs WinHTTPRequest tutorial
The MSXML2.XMLHTTP and WinHttpRequest COM objects are both used to send HTTP requests from an AutoHotkey script. However, there are some differences between the two:
- Compatibility: The MSXML2.XMLHTTP object is available on all versions of Windows, while the WinHttpRequest object is only available on Windows XP and later.
- Performance: In general, the WinHttpRequest object is faster and more efficient than the MSXML2.XMLHTTP object, because it uses the Windows HTTP Services (WinHTTP) library to send requests, which is optimized for HTTP communications.
- Features: The WinHttpRequest object supports a wider range of features than the MSXML2.XMLHTTP object, including the ability to send HTTPS requests, specify proxy settings, and authenticate with a server using different authentication methods.
In general, if you are running AutoHotkey on a newer version of Windows and you need the additional features and performance of the WinHttpRequest object, you should use that object instead of the MSXML2.XMLHTTP object. However, if you need to support older versions of Windows or you do not need the advanced features of the WinHttpRequest object, you can use the MSXML2.XMLHTTP object instead.
Here’s the syntax I used for the WinHTTPRequest example
And here’s the corresponding two XML API calls I demonstrated in the video
xmlHTTPRequest example using Msxml2.XMLHTTP COM object
Here’s the example connecting to the IE page and sending the API request with the xmlHTTPRequest()