Click here to Skip to main content
Click here to Skip to main content

WinInet wrapper class to handle HTTP GET/POST, Part 1

, 13 Mar 2005
Rate this:
Please Sign up or sign in to vote.
A simple class to handle HTTP GET and POST.

Sample Image


I've been using Heo's class for HTTP POST and GET, however, I noticed that my POST commands were failing randomly. It turned out that in his class, GenericHTTPClient::RequestPostMultiPartsFormData fails unless we open up the browser and send the post request there. Now, it may be just me who was getting this error but it was really annoying. So I wrote my own class to handle HTTP POST/GET and downloading etc. This article is the first part of a series of articles in which I plan to explain the entire process of using WinInet (actually, you can use this code as a preface to the series of articles, since the class supports GET and POST only!). Another difference between my class and others is that it completely wraps the process of adding parameters when posting an HTTP request. All you need to do is pass your data as param=value¶m2=value2 etc., just like you would do for your GET request.

Using the code

In order to GET an HTTP page, the following code can be used:

CString url, result;
url = "";

// Create object of class
CWebAccess webAccess;

// get the result
webAccess.Get(url, result);

In order to POST to an HTTP page, the following code can be used:

CString url, urlData, result;
// url is url of the site, urlData is data, and result contains result.

url = "";
urlData = "someparam=somevalue&someparam2=somevalue2";

// create CWebAccess object
CWebAccess webAccess;
// send request
webAccess.Post(url, urlData, result);

// do whatever you want with result.

Points of Interest

Take a look at GET and POST functions, and also how the callback is handled.


This is the first version, as soon as I get some time for me, I'll complete the tutorial.


This article has no explicit license attached to it but may contain usage terms in the article text or the download files themselves. If in doubt please contact the author via the discussion board below.

A list of licenses authors might use can be found here

About the Author

Uraan Software Solutions
Founder Uraan Software Solutions
Germany Germany
We are a software development and consultancy firm based in Lahore, Pakistan.

Comments and Discussions

QuestionApplicable license? PinmemberMember 94255011-Sep-13 9:37 
Generalafx.h: No such file or directory Pinmembersawer520-Feb-11 8:53 
QuestionPorts ??? PinmemberPeggy Van Lierde5-Jun-08 22:15 
Questionit doesn't seem to work on https posting xml data Pinmemberdragonmc12-Sep-07 11:36 
GeneralThe system cannot find the file specified. Pinmemberberilium10-Jul-07 13:54 
GeneralUnicode string Pinmembertimaeus30-Dec-06 2:48 
GeneralPOST Operation Not working [modified] PinmemberAdeel6887-Aug-06 20:18 
GeneralMemory Leak PinmemberRedFraggle11-Mar-06 13:33 
GeneralRe: Memory Leak PinmemberLars [Large] Werner2-Sep-06 14:35 
GeneralRe: Memory Leak Pinmemberjacksp4-Sep-11 17:35 
GeneralProxy authorization Pinmemberjprieto23-Dec-05 0:42 
GeneralRe: Proxy authorization PinsussStephenjpmurphy4-Dec-07 22:59 
Generalerror detecting proxy settings PinmemberKostya268316-Sep-05 5:59 
GeneralGood Program. Piece of code that actvates send button. Pinmemberpr_00110-Aug-05 16:35 
GeneralHi your app is good but I wonder something PinmemberAcronia4-Jul-05 20:39 
GeneralErr code 122 Pinmemberdaveice20-Mar-05 17:01 
Generalnice program PinsussTom Krenn17-Mar-05 8:09 

General General    News News    Suggestion Suggestion    Question Question    Bug Bug    Answer Answer    Joke Joke    Rant Rant    Admin Admin   

Use Ctrl+Left/Right to switch messages, Ctrl+Up/Down to switch threads, Ctrl+Shift+Left/Right to switch pages.

| Advertise | Privacy | Mobile
Web02 | 2.8.140709.1 | Last Updated 14 Mar 2005
Article Copyright 2005 by Uraan Software Solutions
Everything else Copyright © CodeProject, 1999-2014
Terms of Service
Layout: fixed | fluid