利用socket 发送http请求解决方案

利用socket 发送http请求
如题:
请问如何利用socket发送http请求
现要求如下:
1.请求web服务器端的一个插入请求:命名insertuserinfo

2.我有一组用户信息利用json封装并保存到字符串中strRequest中
  内容如下:
  {"userName":"lisi", "userAge":20}
3.请问如何利用socket发送此请求

------解决方案--------------------
建立连接

构造http报文

发送请求。

------解决方案--------------------
可以使用libcurl实现
------解决方案--------------------
avhttp不错
------解决方案--------------------
和TCP不同吗
------解决方案--------------------
WinInet可以吗

#include <afxinet.h>

//向主机建立连接
CInternetSession session;
CHttpConnection *pConnection = session.GetHttpConnection(_T("www.SomeSite.com"), (INTERNET_PORT)80);

//发出HTTP请求
CHttpFile *pFile = pConnection->OpenRequest(_T("GET"), _T("SomePage.php?cmd=insert&data=data"));
pFile->SendRequest();

//读取状态并接收数据
DWORD code = pFile->QueryInfoStatusCode(code);
char buffer[1024] = {0};
pFile->Read(buffer, 1024);

------解决方案--------------------
个人认为,socket连接服务器之后,再像 5 楼那样发送http请求。所以你就差socket连接服务器这一步