WebClient类的使用中遇到的几个问题

本文介绍了使用WebClient类时常见的三个问题及解决方法:如何绕过图片验证下载资源、如何处理分页请求获取完整数据以及如何正确编码含有中文的URL。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

WebClient类的使用中遇到的几个问题

 1、由于要做公司网站的图片和Flash进行统计,这里使用了WebClient类,
把文件直接下载到本地进行统计,统计过程中发现某一域名下的图片总是下
载不了,后来,才知道是这个域名下的图片作了验证,处理方法时,用WebClient
向服务器发送请求时,要先设置实例的头信息,如:
  webclient.Headers.Add("Referer", "名");

 2、还遇到一个问题是,某一页面列表存在分页,使用WebClient下载该页面
时,第一页没问题,但是其它页面都取不到源码,分析之后发现是这样子的,当
访问第一页时,服务器会返回一个Cookies值,打开第二页时要向服务器提交访问
第一页时返回的Cookies,才能打开页面。
  处理方法:打开第一页时:

    byte[] buff=webclient.DownloadData(url);
       string cookie=webclient.ResponseHeaders.Get("Set-Cookie");

    其中cookie就是取得的Cookies值


   向第二页发送请求时:

   webclient.Headers.Add("Cookie", cookie);

这样就能取得第二页的源码。

3、当URL中存在中文参数时需对中文进行编码(Server.UrlEncode())
  

转载于:https://www.cnblogs.com/bccu/archive/2006/04/29/388770.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值