httpendrequest未正确发布
HttpSendRequest not posting correct
本文关键字:httpendrequest 更新时间:2023-10-16
我正在使用WinInet向apache web服务器发出一个简单的POST请求。我用64进制对数据进行编码。问题是,每个+字符都会被空格字符替换。
为什么会这样,我怎样才能做出正确的POST请求
hInternet = InternetOpen(NULL, INTERNETOPENTYPEPRECONFIG, NULL, NULL, 0);
if (hInternet)
{
hConnect = InternetConnect(hInternet, szDomain, INTERNETDEFAULTHTTPPORT, NULL, NULL, INTERNETSERVICEHTTP, 0, dwTmp);
if (hConnect)
{
hRequest = HttpOpenRequest(hConnect, szPost, szExfiltrationURL, NULL, NULL,(char *)accept, INTERNETFLAGNOCACHEWRITE | INTERNETFLAGNOCOOKIES | INTERNETFLAGNOUI | INTERNETFLAGRELOAD, 0);
if (hRequest)
{
HttpSendRequest(hRequest, headers, lstrlen(headers), buffer, buflen);
InternetCloseHandle(hRequest);
}
InternetCloseHandle(hConnect);
}
InternetCloseHandle(hInternet);
}
From W3
"在查询字符串中,加号作为速记保留空格符号:
来源:"http://www.w3.org/Addressing/URL/4_URI_Recommentations.html"