http用法
来源:互联网 发布:mac版office威锋 编辑:程序博客网 时间:2024/05/16 12:23
#include <string>#include <iostream>#include <windows.h>#include <winhttp.h>#pragma comment(lib,"winhttp.lib")#pragma comment(lib,"user32.lib")void main(){ DWORD dwSize = 0; DWORD dwDownloaded = 0; LPSTR pszOutBuffer = NULL; HINTERNET hSession = NULL, hConnect = NULL, hRequest = NULL; BOOL bResults = FALSE; hSession=WinHttpOpen(L"User-Agent",WINHTTP_ACCESS_TYPE_DEFAULT_PROXY,WINHTTP_NO_PROXY_NAME,WINHTTP_NO_PROXY_BYPASS,0); if(hSession) { hConnect=WinHttpConnect(hSession,L"192.168.0.8",INTERNET_DEFAULT_HTTP_PORT,0); } if(hConnect) { hRequest=WinHttpOpenRequest(hConnect, L"POST",L"login.html",L"HTTP/1.1", WINHTTP_NO_REFERER,WINHTTP_DEFAULT_ACCEPT_TYPES,0); } LPCWSTR header=L"Content-type: application/x-www-form-urlencoded/r/n"; SIZE_T len = lstrlenW(header); WinHttpAddRequestHeaders(hRequest,header,DWORD(len), WINHTTP_ADDREQ_FLAG_ADD); if(hRequest) { std::string data="name=host&sign=xx11sad"; const void *ss=(const char *)data.c_str(); bResults=WinHttpSendRequest(hRequest, 0, 0,const_cast<void *>(ss),data.length(), data.length(), 0 ); ////bResults=WinHttpSendRequest(hRequest,WINHTTP_NO_ADDITIONAL_HEADERS, 0,WINHTTP_NO_REQUEST_DATA, 0, 0, 0 ); } if(bResults) { bResults=WinHttpReceiveResponse(hRequest,NULL); } if(bResults) { do { // Check for available data. dwSize = 0; if (!WinHttpQueryDataAvailable( hRequest, &dwSize)) { printf( "Error %u in WinHttpQueryDataAvailable.\n",GetLastError()); break; } if (!dwSize) break; pszOutBuffer = new char[dwSize+1]; if (!pszOutBuffer) { printf("Out of memory\n"); break; } ZeroMemory(pszOutBuffer, dwSize+1); if (!WinHttpReadData(hRequest, (LPVOID)pszOutBuffer, dwSize, &dwDownloaded)) { printf( "Error %u in WinHttpReadData.\n", GetLastError()); } else { printf("%s", pszOutBuffer); } delete [] pszOutBuffer; if (!dwDownloaded) break; } while (dwSize > 0); } if (hRequest) WinHttpCloseHandle(hRequest); if (hConnect) WinHttpCloseHandle(hConnect); if (hSession) WinHttpCloseHandle(hSession); system("pause");}
http://www.cnblogs.com/ytjjyy/archive/2012/05/05/2484844.html
0 0
- http用法
- http-equiv用法
- DataSnap Http 用法注意事项
- datasnap http用法注意事项
- http中meta的用法
- http中的meta用法总结
- http referer 解释及用法
- http---response.setHeader()的用法
- c# http get post 用法
- Meta http-equiv 属性用法
- Meta http-equiv用法详解
- HttpURLConnection用法详解 HTTP连接
- HttpURLConnection简单用法-java模拟HTTP请求
- HTML http-equiv='refresh' 的用法
- HTTP协议及其request.setAttribute()用法
- 网页meta http-equiv参数的用法
- curl 发送HTTP请求 常用用法
- HttpURLConnection简单用法-java模拟HTTP请求
- iOS设置一个圆角button遇到的问题
- javascript 大前端 完全升级之 npm+gulp+systemjs+typescript by 2016.01
- PostgreSQL学习手册(函数和操作符<三>)
- Spring MVC静态资源处理
- Android Camera 分析 1
- http用法
- Linux Top 命令详细解析
- <util:properties/>使用说明
- 百度地图根据经纬度显示描边
- socket编程的select模型
- 二维码小图扫描不出来或者识别慢
- android手机获取手机号
- 基于Ubuntu 14.04 LTS编译Android4.4.2源代码
- iOS 添加自定义键盘