关于网友提出的“ SendRequest发送POST请求始终返回405?”问题疑问,本网通过在网上对“ SendRequest发送POST请求始终返回405?”有关的相关答案进行了整理,供用户进行参考,详细问题解答如下:
问题: SendRequest发送POST请求始终返回405?描述:
本帖最后由 VisualEleven 于 2012-02-11 14:42:21 编辑
用MFC模拟向HTTP服务器发送Http请求,Get成功了,发送Post就一直返回405相关代码如下:
CHttpConnection *pConnection = m_session.GetHttpConnection(strDomain);
CHttpFile *pHttpFile = pConnection->OpenRequest(
bPost ? CHttpConnection::HTTP_VERB_POST : CHttpConnection::HTTP_VERB_GET,
strPath, 0, 1, 0, 0, INTERNET_FLAG_NO_COOKIES);
//提交请求
if (bPost)
{
pHttpFile->AddRequestHeaders(_T("Accept: */*\r\n"));
pHttpFile->AddRequestHeaders(_T("Content-Type: application/x-www-form-urlencoded\r\n"));
pHttpFile->AddRequestHeaders(_T("Accept-Encoding: gzip, deflate\r\n"));
pHttpFile->AddRequestHeaders(_T("Connection: close\r\n"));
pHttpFile->SendRequest(strHeader, strPostData.GetBuffer(), strPostData.GetLength());
}
else
{
pHttpFile->SendRequest();
}
DWORD StatusCode;
pHttpFile->QueryInfoStatusCode(StatusCode);
利用抓包工具也看了,包数据看不出什么问题。
我还制作了一个html页来提交post表单数据,也是正常的,我把抓到的包的相关的头拷贝到程序里发送,也还是返回405
一直都是405,我人都405了···
解决方案1:
405
Server does not support requested method