为啥我post一个网址 却说我账号不能为空我一想可能就是数据没有提交上去可是我又不怎么理解这个winhttp 第一次用想请教下 我非常想做抓取网页内容这一类的 post登陆操作网页啥的 代码如下:
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;
//初始化,为应用程序,使用WinHTTP的功能,并返回一个WinHTTP的会话句柄。
hSession = WinHttpOpen(L"User-Agent", WINHTTP_ACCESS_TYPE_DEFAULT_PROXY, WINHTTP_NO_PROXY_NAME, WINHTTP_NO_PROXY_BYPASS, 0);
if (hSession)
{
//指定一个HTTP请求的初始目标服务器并返回一个HINTERNET连接句柄该初始目标的HTTP会话。
hConnect = WinHttpConnect(hSession, L"match2.gametea.com", INTERNET_DEFAULT_HTTP_PORT, 0);
}
if (hConnect)
{
//创建一个HTTP请求句柄。
hRequest = WinHttpOpenRequest(hConnect, L"POST", L"/2014/exchange/public/login",NULL, WINHTTP_NO_REFERER, WINHTTP_DEFAULT_ACCEPT_TYPES, 0);
}
if (hRequest)
{
std::string data = "name=6000000000&password=60000000×tamp=1497333252384";
const void *ss = (const char *)data.c_str();
bResults = WinHttpSendRequest(hRequest, 0, 0, const_cast<void *>(ss), data.length(), data.length(), 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");
}
返回 {"code":-1,"message":"u8336u82d1u8d26u53f7u4e3au7a7a"}
解码后 {"code":-1,"message":"茶苑账号为空"} 就这里出毛病了 说我没提交账号的样子