http://www.sufeinet.com/plugin.php?id=keke_group

苏飞论坛

 找回密码
 马上注册

QQ登录

只需一步,快速开始

分布式系统框架(V2.0) 轻松承载百亿数据,千万流量!讨论专区 - 源码下载 - 官方教程

HttpHelper爬虫框架(V2.7-含.netcore) HttpHelper官方出品,爬虫框架讨论区 - 源码下载 - 在线测试和代码生成

HttpHelper爬虫类(V2.0) 开源的爬虫类,支持多种模式和属性 源码 - 代码生成器 - 讨论区 - 教程- 例子

查看: 3651|回复: 9

[求助] 飞哥,如何只获取响应头信息呢?

[复制链接]
发表于 2014-12-5 09:34:57 | 显示全部楼层 |阅读模式
万能框架 能否只获取响应头信息 而不用下载整个html?

我见现在的方法是下载所有的 然后再找到响应头信息.那样我认为浪费时间

还有 明明是跳转,但是提示没有跳转 是不是返回的大写的Location?


我输入的是没有www的域名,应该跳转到有www 的域名, 但是返回为空  

跳转

跳转


1. 开通SVIP会员,免费下载本站所有源码,不限次数据,不限时间
2. 加官方QQ群,加官方微信群获取更多资源和帮助
3. 找站长苏飞做网站、商城、CRM、小程序、App、爬虫相关、项目外包等点这里
发表于 2014-12-5 09:50:51 | 显示全部楼层
没有跳转是因为你将这个设置为   Allowautoredirect = true了吧。

为FAlse才不会自动跳转。

只获取头信息的,在教程里不是写的有方法吗?
http://www.sufeinet.com/thread-10042-1-1.html要注意看教程

 楼主| 发表于 2014-12-5 09:57:40 | 显示全部楼层
站长苏飞 发表于 2014-12-5 09:50
没有跳转是因为你将这个设置为   Allowautoredirect = true了吧。

为FAlse才不会自动跳转。

True 和 false  都不跳转的
 楼主| 发表于 2014-12-5 10:00:05 | 显示全部楼层
站长苏飞 发表于 2014-12-5 09:50
没有跳转是因为你将这个设置为   Allowautoredirect = true了吧。

为FAlse才不会自动跳转。

WebHeaderCollection header = result.Header;

这里面 不返回 hader  我需要header
发表于 2014-12-5 10:18:38 | 显示全部楼层
Method="HEAD鈥濄
发表于 2014-12-5 10:20:48 | 显示全部楼层
我刚测试过你的网址,肯定是跳转的,你贴下你的、代码,怎么可能呢。

那个方法确实没有返回

return new HttpResult() { Cookie = string.Empty, Header = response.Headers, StatusCode = response.StatusCode, StatusDescription = response.StatusDescription };
把HttphelperBase类的第100行代码修改为这个就行了,我下次更新会修复这个问题

快速 不快速 和你提出不提出内容没有关系的,你只要能获取Header就一定下载过了Html,只是你要不要解析的问题,从内存中读与不读都不可能说影响你的程序,因为这个时间可以不计。
 楼主| 发表于 2014-12-5 10:23:07 | 显示全部楼层
[C#] 纯文本查看 复制代码
            HttpItem item = new HttpItem()
            {
                URL = "http://sjz43.com",//URL     必需项    
                Method = "get",//URL     可选项 默认为Get   
                ContentType = "text/html",//返回类型    可选项有默认值   
            };
             
            HttpResult res = http.GetHtml(item);
            string testRedi = res.RedirectUrl;
发表于 2014-12-5 10:42:48 | 显示全部楼层
330567713 发表于 2014-12-5 10:23
[mw_shl_code=csharp,true]            HttpItem item = new HttpItem()
            {
                 ...

这个redirectUrl没有处理大小写的问题,你可以这样获取result.Header["Location"]
 楼主| 发表于 2014-12-5 10:51:11 | 显示全部楼层
恩  这样就获取到了,  是所有网站大小写都不同 还是需要处理一下大小写问题呢



还有 你说的只要获得了头信息,就是已经下载了html了  我不这么认为, 我需要检测一下
 楼主| 发表于 2014-12-5 20:00:10 | 显示全部楼层
站长苏飞 发表于 2014-12-5 10:42
这个redirectUrl没有处理大小写的问题,你可以这样获取result.Header["Location"]

恩  我改成Location 就好多了.   还有, 我测试了下 , 时间只获取header  确实也挺浪费时间的...
您需要登录后才可以回帖 登录 | 马上注册

本版积分规则

QQ|手机版|小黑屋|手机版|联系我们|关于我们|广告合作|苏飞论坛 ( 豫ICP备18043678号-2)

GMT+8, 2024-11-15 01:25

© 2014-2021

快速回复 返回顶部 返回列表