小编Can*_*nos的帖子

WinHttp POST机构未收到

我正在向IIS7服务器上的php脚本发送带有POST数据的WinHttp请求,并且服务器未接收到POST主体.如果我使用GET发送WinHttp,或者使用NULL主体发送POST,或者使用带有正文的POST通过HTML表单发送,则一切都按预期工作.

下面是一些简单的代码,显示了使用和不使用正文的WinHttp POST调用之间的区别:

没有身体:

HINTERNET hSession = WinHttpOpen(L"WinHTTP/1.0", WINHTTP_ACCESS_TYPE_DEFAULT_PROXY, WINHTTP_NO_PROXY_NAME, WINHTTP_NO_PROXY_BYPASS, 0);//WINHTTP_FLAG_ASYNC);
HINTERNET mConnection = WinHttpConnect(hSession, L"127.0.0.1", 80, 0);
HINTERNET hRequest = WinHttpOpenRequest(mConnection, L"POST", L"/test.php", NULL, WINHTTP_NO_REFERER, WINHTTP_DEFAULT_ACCEPT_TYPES, 0);
void* bodyData = NULL;
DWORD bodyLength = 0;
bResult = WinHttpSendRequest(hRequest, WINHTTP_NO_ADDITIONAL_HEADERS, 0, bodyData, bodyLength, bodyLength, 0);
Run Code Online (Sandbox Code Playgroud)

身体:

HINTERNET hSession = WinHttpOpen(L"WinHTTP/1.0", WINHTTP_ACCESS_TYPE_DEFAULT_PROXY, WINHTTP_NO_PROXY_NAME, WINHTTP_NO_PROXY_BYPASS, 0);//WINHTTP_FLAG_ASYNC);
HINTERNET mConnection = WinHttpConnect(hSession, L"127.0.0.1", 80, 0);
HINTERNET hRequest = WinHttpOpenRequest(mConnection, L"POST", L"/test.php", NULL, WINHTTP_NO_REFERER, WINHTTP_DEFAULT_ACCEPT_TYPES, 0);
char* pBodyStr = "a=1&b=2";
void* bodyData = (void*) …
Run Code Online (Sandbox Code Playgroud)

php iis-7 winhttp

5
推荐指数
1
解决办法
2002
查看次数

标签 统计

iis-7 ×1

php ×1

winhttp ×1