用WinInet向ASP发送POST请求的问题,请高手指教!
程序如下:
//解析URL地址
AfxParseURL(m_strUrl, m_dwServiceType, m_strServerName, m_strObject, m_nPort);
//建立INTERNET连接
CInternetSession ISession(_T("Tax SSL HTTP Sender"));
DWORD dwHttpRequestFlags = INTERNET_FLAG_EXISTING_CONNECT | INTERNET_FLAG_NO_AUTO_REDIRECT;
//头信息及数据内容
CString strHeader = _T("Content-Type: application/x-www-form-urlencoded");
CString strData = _T("This is a Test for http.");
//HTTP连接
CHttpConnection* pIServer = NULL;
CHttpFile* pFile = NULL;
try
{
pIServer = ISession.GetHttpConnection(m_strServerName, m_nPort);
pFile = pIServer->OpenRequest(CHttpConnection::HTTP_VERB_POST, m_strObject); //, NULL, 1, NULL, NULL, dwHttpRequestFlags);
BOOL result = pFile->SendRequest(strHeader,(LPVOID)(LPCTSTR)strData, strData.GetLength());
//取返回数据
TCHAR sz[1024];
while (pFile->ReadString(sz, 1023))
cout << sz;
cout << endl;
}
catch(...)
{.....}
问题如下:
pFile->SendRequest()调用成功,而且ReadString可以读到ASP返回的数据,不过ASP端却没有收到发送的数据("This is a Test for http."),请高手指点一下是什么问题。
ASP端使用以下语句接收:
data=Request.Form
data=transtr(data)
'写日志
set fso=server.CreateObject("scripting.filesystemobject")
set myfile=fso.OpenTextFile("c:\testlog.txt",8,true)
myfile.writeline(now)
myfile.writeline(data)
myfile.WriteBlankLines(1)
'返回数据
temp = "HTTP Request Test OK!"
Response.Write temp
--
============
oO菩提葡萄Oo
============