急:大家帮看看代码有什么问题:抓html后面出现乱码“烫烫烫...乱码”

Rebornor 2008-03-20 08:57:51
我写了个抓html文档的代码
下面以51job为例,返回来的html文档后面出现很多“烫烫....”如题。
大家帮看看,是不是代码哪里出问题了?望高手指点,谢谢~~
本人承诺:问题解决即散分。
...全文
179 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
Rebornor 2008-03-21
  • 打赏
  • 举报
回复
结贴
Rebornor 2008-03-20
  • 打赏
  • 举报
回复
楼上的太帅了,问题解决了一大半了-一定实现承诺:结贴时高分送上。
----虽然现在没乱码“烫..”了,但是现在非常奇怪:只有一小部分html代码显示如下
***************************************************************************
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">

<html xmlns="http://www.w3.org/1999/xhtml">

<head>

<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />

<title>人才招聘-前程无忧 | 51job.com</title>

<meta content="人才,招聘,简历,工作,面试,薪酬,跳槽,猎头,培训,测评,人事" name="Keywords" />

<meta content="前程无忧为企业提供人才招聘、猎头、培训、测评和人事外包在内的全方位的人力资源服务,帮助个人求职者与企业搭建最佳的人才招募和人才培养渠道。" name="Description" />

<meta content="ALL" name="ROBOTS" />

<meta http-equiv="Expires" content="" />

<meta http-equiv="Pragma" content="no-cache" />

<meta http-equiv="Cache-Control" content="no-cache" />

<link href="/jobsearch/css/bottstyle.css" rel="stylesheet" type="text/css" />

<link href="/jobsearch/css/old.css" rel="stylesheet" type="text/css" />

<link href="/jobsearch/css/main.css" rel="stylesheet" type="text/css" />

<link href="/jobsearch/css/line_font.css" rel="stylesheet" type="text/css" />

<link href="/jobsearch/css/style.css" rel="stylesheet" type="text/css" />

</head>

<body>

<div id="top">

<div id="logo">

<!-- <object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=7,0,19,0" width="300" height="70">

<param name="movie" value="http://images.51job.com/im/images/logo7.swf" />

<param name="quality" value="high" />

<embed src="http://images.51job.com/im/images/logo7.swf" quality="high" pluginspage="http://www.macromedia.com/go/getflashplayer" type="application/x-shockwave-flash" width="300" height="70"> <param name="wmode" value="transparent"></embed>

</object> -->

<a href="http://www.51job.com/default.php"><img src="http://images.51job.com/im/images/51logo0201.gif" alt="" />
******************************************************************************************************************************而以下的部分没有显示:(手工打开后的html)</div>
<ul id="nav1">
<li><a href="http://www.51job.com/default.php">首 页</a></li>
<li><a href="http://tr.51job.com/default-tr.php">培训充电</a></li>
<li><a href="http://xy.51job.com/default-xs.php">校园招聘</a></li>
<li><a href="http://www.51job.com/default-gj.php">高级猎头</a></li>
<li><a href="http://www.51job.com/default-it.php">IT人才</a></li>
</ul>
<ul id="version">
<li>
<a href="#" onClick="return j2gb('');">
<script language="javascript">
<!--
function j2gb(url) {
if(url != '')
{
location.href = "ht" + "tp://www.51job.com/" + url;
return false;
}

if(location.hostname == "big5.51job.com")
{
location.href = "ht" + "tp://www.51job.com/" + url;
return false;
}
else
{
location.href = "ht" + "tp://big5.51job.com" + url;
return false;
}
}
if(location.hostName == "big5.51job.com")
{
document.write("简体版");

...
...
...
请问哪位高手能继续协助小弟一下,将完整的html文档收到呢?
若实现,小弟一定追加分数。
多谢~~~
}
abupie 2008-03-20
  • 打赏
  • 举报
回复

int nlen=pFile->Read(szbuffer,0x160000); //读取返回的内容,页面的html代码
前增加个memset(szbuffer, 0, sizeof(szbuffer)); //清下数据.
abupie 2008-03-20
  • 打赏
  • 举报
回复
szbuffer 是否没有初试化?
Mnky 2008-03-20
  • 打赏
  • 举报
回复
这个肯定行:

CInternetSession mySession(NULL,0);
CHttpFile* myHttpFile=NULL;
CString m_code="";

CString myData;
try
{
myHttpFile=(CHttpFile*)mySession.OpenURL(m_url);
while(myHttpFile->ReadString(myData))
{
m_code+=myData;
m_code=m_code+"\r\n";
}
myHttpFile->Close();
mySession.Close();
}
catch (...) {
m_code+="无法访问该页";
}
if(m_code=="")
m_code="该页为空";
Rebornor 2008-03-20
  • 打赏
  • 举报
回复
好的,我试试看先
野男孩 2008-03-20
  • 打赏
  • 举报
回复
int nlen=pFile->Read(szbuffer,0x160000); //读取返回的内容,页面的html代码
上面这行调用前,先memset(szBuffer, 0, sizeof(szBuffer));把szBuffer清0。

sizeof(szBuffer)是szBuffer地址所在的长度,如果szBuffer是指针的话,明确指出长度。
Rebornor 2008-03-20
  • 打赏
  • 举报
回复
代码很简单,一个dialog的对话框,加一个buotton1如下:
CString strHeaders =_T("Content-Type: application/x-www-form-urlencoded\r\n");
CString strFormData;
strFormData=_T("keywordtype=&keyword=%CE%C4%D4%B1&jobarea=0400&stype=2&image.x=35&image.y=15");

CInternetSession session;
CHttpConnection* pConnection =session.GetHttpConnection(_T("search.51job.com"),(INTERNET_PORT)80);
CHttpFile* pFile =pConnection->OpenRequest(CHttpConnection::HTTP_VERB_POST,_T("/jobsearch/keyword_search.php"));
BOOL result = pFile->SendRequest(strHeaders,(LPVOID)(LPCTSTR)strFormData, strFormData.GetLength());
int nlen=pFile->Read(szbuffer,0x160000); //读取返回的内容,页面的html代码


pFile->Close();
pConnection->Close();
delete pFile;
delete pConnection;
session.Close();
CString str;
str=szbuffer;
MessageBox(str);
CString sPath="Myfile.txt";////////
CString str;
str=szbuffer;
CStdioFile myFileWrite(sPath,CFile::modeWrite|CFile::modeCreate);
myFileWrite.WriteString(str);
MessageBox("write completed!");

64,637

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

试试用AI创作助手写篇文章吧