在向服务器发帖之前,我是否需要添加任何标题?
例如,目前我正在尝试以这种方式发送请求以及发布数据,
LPCWSTR post = L"name=User&subject=Hi&message=Hi";
if (!(WinHttpSendRequest( hRequest,
WINHTTP_NO_ADDITIONAL_HEADERS,
0, (LPVOID)post, wcslen(post),
wcslen(post), 0)))
{
//error
}
这应该有效吗?
答案 0 :(得分:5)
LPSTR post = "log=test";//in my php file: if(isset($_POST['log']))
hRequest = WinHttpOpenRequest(hConnect,
L"POST",
L"/test.php",
NULL,
WINHTTP_NO_REFERER,
WINHTTP_DEFAULT_ACCEPT_TYPES,
0);
bResults = WinHttpSendRequest(hRequest,
L"content-type:application/x-www-form-urlencoded",
-1,
post,
strlen(post),
strlen(post),
NULL);
答案 1 :(得分:2)
我猜
\r\n
添加到你的(窄)字符串中 - 我不知道API是否会添加一个,因为我认为你是对二进制数据进行同样的调用。答案 2 :(得分:1)
根据此MSDN page,假设您在"POST"
中使用了WinHttpOpenRequest
动词,那么您的代码示例肯定会有效。如果事情不起作用,那么在网络浏览器和你的应用程序上运行Fiddler,并比较两种情况下生成的标题。