在Windows下,通过使用wininet库发送http请求,以下是代码实例:
char szBuffer[1024] = {0};//声明全局变量,作为服务端返回的数据
void SendHttpRequest(char ip[], int port, char url[])//参数说明:IP:1.2.3.4 port:40000, url:"/login"
{
DWORD dwSize = 1024;
DWORD dwDownload = 0;
//char data[] = "changzhi";
//init
HINTERNET hInternet = InternetOpen("CEHTTP", INTERNET_OPEN_TYPE_DIRECT, NULL, NULL, 0);
//open http session
HINTERNET hSession = InternetConnect(hInternet, ip, port, NULL, NULL, INTERNET_SERVICE_HTTP, 0, 0);
//open http post request handle
char * szAccept[] = {"/", NULL};
HINTERNET hRequest = HttpOpenRequest(hSession, "POST", url, NULL, NULL, (LPCSTR*)szAccept, INTERNET_FLAG_NO_CACHE_WRITE, 0);
//send request
HttpSendRequest(hRequest, NULL, 0, data, strlen(data));
//get receive data and store

本文介绍了在Windows环境下,如何利用C语言和wininet库来发送HTTP请求。示例代码包括了连接关闭、编译方法以及设置HTTP头。特别指出,当服务器未启动时,InternetReadFile函数在尝试读取数据时会出错,而之前的相关步骤可能不会立即报告错误。
最低0.47元/天 解锁文章
7399

被折叠的 条评论
为什么被折叠?



