有一个网站http://www.zhulang.com/,小说站点,我想要用VC提取我指定的一部小说的内容,比如金庸的《鹿鼎记》,我现在要提交POST表单,我的程序代码如下,返回不正确,我的代码可能是头文件写错了,哪位高手帮我看看:这个头文件怎么写?
CHttpDownDemoDlg *pDlg=(CHttpDownDemoDlg*)lpParam;
CString strRequest="";
//strRequest+=pDlg->m_name;
strRequest+="action=action&key=鹿鼎记"; //这里写错了吧??哪位高手给看看,这个头文件该怎么写??谢谢
CString strServerName="www.zhulang.com";
CString strObjectName="/search.php";
INTERNET_PORT nPort=80;
CString strResponse="";
CInternetSession session("HttpSession");
CHttpConnection *pServer=NULL;
CHttpFile *pFile=NULL;
try
{
pServer=session.GetHttpConnection(strServerName,nPort);
pFile=pServer->OpenRequest(0,strObjectName);
char szHeaders[100];
memset(szHeaders,0,sizeof(szHeaders));
strcpy(szHeaders,"Accept: text*//*\r\nContent-Type: application/x-www-form-urlencoded");
pFile->AddRequestHeaders(szHeaders);
pFile->SendRequestEx(strRequest.GetLength());
pFile->WriteString(strRequest);
pFile->EndRequest();
DWORD dwRet=0;
pFile->QueryInfoStatusCode(dwRet);
char szBuf[1024];
memset(szBuf,0,sizeof(szBuf));
if(dwRet!=HTTP_STATUS_OK)
{
UINT nRead;
do
{
nRead=pFile->Read(szBuf,1023);
if(nRead!=0)
{
szBuf[nRead]=0;
strResponse+=szBuf;
}
} while(nRead!=0);
}
delete pFile;
delete pServer;
}
catch(CInternetException *pEx)
{
AfxMessageBox("ÍøÂçÒì³££¬ÇëÏȼì²âÍøÂ磡");
}
AfxMessageBox(strResponse);哪位大侠给看看??
CHttpDownDemoDlg *pDlg=(CHttpDownDemoDlg*)lpParam;
CString strRequest="";
//strRequest+=pDlg->m_name;
strRequest+="action=action&key=鹿鼎记"; //这里写错了吧??哪位高手给看看,这个头文件该怎么写??谢谢
CString strServerName="www.zhulang.com";
CString strObjectName="/search.php";
INTERNET_PORT nPort=80;
CString strResponse="";
CInternetSession session("HttpSession");
CHttpConnection *pServer=NULL;
CHttpFile *pFile=NULL;
try
{
pServer=session.GetHttpConnection(strServerName,nPort);
pFile=pServer->OpenRequest(0,strObjectName);
char szHeaders[100];
memset(szHeaders,0,sizeof(szHeaders));
strcpy(szHeaders,"Accept: text*//*\r\nContent-Type: application/x-www-form-urlencoded");
pFile->AddRequestHeaders(szHeaders);
pFile->SendRequestEx(strRequest.GetLength());
pFile->WriteString(strRequest);
pFile->EndRequest();
DWORD dwRet=0;
pFile->QueryInfoStatusCode(dwRet);
char szBuf[1024];
memset(szBuf,0,sizeof(szBuf));
if(dwRet!=HTTP_STATUS_OK)
{
UINT nRead;
do
{
nRead=pFile->Read(szBuf,1023);
if(nRead!=0)
{
szBuf[nRead]=0;
strResponse+=szBuf;
}
} while(nRead!=0);
}
delete pFile;
delete pServer;
}
catch(CInternetException *pEx)
{
AfxMessageBox("ÍøÂçÒì³££¬ÇëÏȼì²âÍøÂ磡");
}
AfxMessageBox(strResponse);哪位大侠给看看??
strRequest += UrlEscape("鹿鼎记");
CString strRequest="";
//strRequest+=pDlg->m_name;
strRequest+=_T("action=action&sType=&classa=&classb=key=");
strRequest+=_T("鹿鼎记");
CString strServerName=_T("www.zhulang.com");
CString strObjectName=_T("/search.php");
INTERNET_PORT nPort=80;
CString strResponse=_T("");
CInternetSession session(_T("HttpSession"));
CHttpConnection *pServer=NULL;
CHttpFile *pFile=NULL;
try
{
pServer=session.GetHttpConnection(strServerName,nPort);
pFile=pServer->OpenRequest(0,strObjectName);
char szHeaders[100];
memset(szHeaders,0,sizeof(szHeaders));
strcpy(szHeaders,_T("Accept: text*//*\r\nContent-Type: application/x-www-form-urlencoded"));
pFile->AddRequestHeaders(szHeaders);
pFile->SendRequestEx(strRequest.GetLength());
pFile->WriteString(strRequest);
pFile->EndRequest();
DWORD dwRet=0;
pFile->QueryInfoStatusCode(dwRet);
char szBuf[1024];
memset(szBuf,0,sizeof(szBuf));
if(dwRet==HTTP_STATUS_OK)
{
UINT nRead;
while((nRead=pFile->Read(szBuf,1023))>0)
{
strResponse+=CString(szBuf,nRead);
}
}
delete pFile;
delete pServer;
}
catch(CInternetException* e)
{
CString str;
str.Format("Internet Exception\r\nm_dwError%u,m_dwContextError%u",e->m_dwError,e->m_dwContext);
AfxMessageBox(str);
}
AfxMessageBox(strResponse); 修改成这样以后,返回的页面是乱码?哪位大侠给指点一下!
这种就叫URL编码,或者叫URL安全编码,跟utf-8完全是两回事。