社区
C#
帖子详情
请教一个获取网页内容的问题!
2sanshi
2006-12-13 11:14:14
在http://book.mop.com/moplz/user/chapter_275215,7.html这个页面中,如果用WebResponse来获取内容,会发现内容不全,请教如何才能获取该页面的全部内容?谢谢!
...全文
208
6
打赏
收藏
请教一个获取网页内容的问题!
在http://book.mop.com/moplz/user/chapter_275215,7.html这个页面中,如果用WebResponse来获取内容,会发现内容不全,请教如何才能获取该页面的全部内容?谢谢!
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
6 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
liuchao305
2006-12-14
打赏
举报
回复
如果你只想获取内容的话。那就应该用正则表达式循环匹配标签了。
2sanshi
2006-12-13
打赏
举报
回复
用您上面的代码获取页面是没什么问题的了!
2sanshi
2006-12-13
打赏
举报
回复
您看看这个页面就知道了,页面的正文内容,然后您再看看页面的源代码,会发现内容少了一大截,好像是通过某种xml的机制来实现的!
liuchao305
2006-12-13
打赏
举报
回复
不客气。上面的代码可以把整个页面都抓下来啊?难道还不是你需要的阿。那我再想想。
2sanshi
2006-12-13
打赏
举报
回复
谢谢liuchao305() ,虽然您的这个答案没有解决我的这个问题,但是也很值得我学习学习!我用WebResponse能够取到网页的内容,但是内容不全!
liuchao305
2006-12-13
打赏
举报
回复
//"开始"按钮事件
private void button1_Click(object sender, System.EventArgs e) {
//取得预保存的文件名
string fileName=textBox3.Text.Trim();
//远程主机
string hostName=textBox1.Text.Trim();
//端口
int port=Int32.Parse(textBox2.Text.Trim());
//得到主机信息
IPHostEntry ipInfo=Dns.GetHostByName(hostName);
//取得IPAddress[]
IPAddress[] ipAddr=ipInfo.AddressList;
//得到ip
IPAddress ip=ipAddr[0];
//组合出远程终结点
IPEndPoint hostEP=new IPEndPoint(ip,port);
//创建Socket 实例
Socket socket=new Socket(AddressFamily.InterNetwork,SocketType.Stream,ProtocolType.Tcp);
try
{
//尝试连接
socket.Connect(hostEP);
}
catch(Exception se)
{
MessageBox.Show("连接错误"+se.Message,"提示信息
,MessageBoxButtons.RetryCancel,MessageBoxIcon.Information);
}
//发送给远程主机的请求内容串
string sendStr="GET / HTTP/1.1\r\nHost: " + hostName +
"\r\nConnection: Close\r\n\r\n";
//创建bytes字节数组以转换发送串
byte[] bytesSendStr=new byte[1024];
//将发送内容字符串转换成字节byte数组
bytesSendStr=Encoding.ASCII.GetBytes(sendStr);
try
{
//向主机发送请求
socket.Send(bytesSendStr,bytesSendStr.Length,0);
}
catch(Exception ce)
{
MessageBox.Show("发送错误:"+ce.Message,"提示信息
,MessageBoxButtons.RetryCancel,MessageBoxIcon.Information);
}
//声明接收返回内容的字符串
string recvStr="";
//声明字节数组,一次接收数据的长度为1024字节
byte[] recvBytes=new byte[1024];
//返回实际接收内容的字节数
int bytes=0;
//循环读取,直到接收完所有数据
while(true)
{
bytes=socket.Receive(recvBytes,recvBytes.Length,0);
//读取完成后退出循环
if(bytes〈=0)
break;
//将读取的字节数转换为字符串
recvStr+=Encoding.ASCII.GetString(recvBytes,0,bytes);
}
//将所读取的字符串转换为字节数组
byte[] content=Encoding.ASCII.GetBytes(recvStr);
try
{
//创建文件流对象实例
FileStream fs=new FileStream(fileName,FileMode.OpenOrCreate,FileAccess.ReadWrite);
//写入文件
fs.Write(content,0,content.Length);
}
catch(Exception fe)
{
MessageBox.Show("文件创建/写入错误:"+fe.Message,"提示信息",MessageBoxButtons.RetryCancel,MessageBoxIcon.Information);
}
//禁用Socket
socket.Shutdown(SocketShutdown.Both);
//关闭Socket
socket.Close();
}
}
webbrowser
获取
动态网页元素
写第
一个
博客前先啰嗦介绍下我本人:我其实是个硬件工程师,只是喜欢编程,觉得程序可以大大释放劳动力,所以偶尔会写些小程序,解决日常工作中的小
问题
,而我写的小程序,都是自动化方向的多(例如本次要实现的自动...
网页版怎么连接tcp服务器,
请教
怎么做
一个
tcp客户端访问网页
请问如何做
一个
tcp客户端访问网页本帖最后由 oXiFangShiBai 于 2013-02-01 10:28:15 编辑使用tcp协议,来访问网页,这样主要是做
一个
长连接我的实现思路是:1.连接服务器【举例用百度www.baidu.com】2.发送http协议...
Linux 抓取网页实例(shell+awk)
上一篇博客讲了Linux抓取网页的方式,有curl和wget两种方式,这篇将重点讲Linux抓取...是
一个
就“总-分”形式,即一页网址显示若干排名(如24个),有若干个这样的网页组成全部游戏的总排名2、每页网址中,点击每个单独
php如何
获取
js中的内容_如何用JS
获取
PHP页面内容?
用http://localhost:8081/1.php可以访问到 ‘admin’ 这个内容,我想用JS把这个内容显示出来,有人说用AJAX来写,百度了好几天也没有解决,
请教
各位老师如何做到啊?谢谢!回复讨论(解决方案)就是使用ajax请求这个...
python登陆成功页面跳转_模拟登陆后如何
获取
跳转的网页?
爬取虾米音乐时,模拟登陆网页版地址...通过HttpFox发现:为了得到网页,必须发送登录时
获取
的cookie,于是添加cookie再进行爬取就可以了!奇怪的是,登陆手机版的网址不需要发送co...
C#
111,125
社区成员
642,540
社区内容
发帖
与我相关
我的任务
C#
.NET技术 C#
复制链接
扫一扫
分享
社区描述
.NET技术 C#
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
让您成为最强悍的C#开发者
试试用AI创作助手写篇文章吧
+ 用AI写文章