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

苏飞论坛

 找回密码
 马上注册

QQ登录

只需一步,快速开始

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

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

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

查看: 10701|回复: 15

[讨论] 希望HttpHelper框架能自己处理Cookie 要不使用太麻烦了!

[复制链接]
发表于 2015-1-29 20:32:47 | 显示全部楼层 |阅读模式
本帖最后由 励磁机 于 2015-1-29 20:58 编辑

前阵子无意中看到了苏飞站长的 HttpHelper框架 大概看了一些介绍感觉使用上比较人性化一些 正好最近要使用到http这块   于是今天就买了一份框架 使用了一下 感觉很多地方确实比.net自身的webclient和httpclient方便一些  但是在使用中也发现了一些问题  特别是cookie的处理上  并没有像大多第三方框架一样 有自动处理cookie的能力 这在日常使用中带来了非常的不便(因为很多时候 并不必要每次都手动的去管理cookie),像不管是JAVA中非常好用的的Httpclient及其他的很多第三方类库  还是.net自身的Httpclient类库 都有自动管理cookie的功能  这样在一些没有必要非常手动处理Cookie的地方 类库本身就自行处理好了 给开发者节省了大量的时间  比如很简单的一个例子 如某网站的登陆后 的多次320跳转 及跳转后的一些后续操作 这过程中类库已经自动管理好了Cookie 开发者根本不需要去关心Cookie的问题 只要正常使用GET POst请求就好了     现在的HttpHelper却每一步都要自行管理Cookie这给操作上来说无形中增加了很大的工作量  希望HttpHelper框架能自己处理Cookie 要不使用还是太麻烦了  最后还是要感谢大神为我们做出的贡献

本帖被以下淘专辑推荐:



1. 开通SVIP会员,免费下载本站所有源码,不限次数据,不限时间
2. 加官方QQ群,加官方微信群获取更多资源和帮助
3. 找站长苏飞做网站、商城、CRM、小程序、App、爬虫相关、项目外包等点这里
发表于 2015-1-30 08:21:57 | 显示全部楼层
你上面写这些多的意思是不是就是让让Http302跳转的时候自动处理Cookie?

我写的是根据协议来的,并不是贪图什么功能,自动处理302的我可以提供一下方法,这个没有问题。但是默认的还是要让用户手动的,毕竟这是协议默认说明大多数是这样。

不能因为个人或者部分需求来定义。

这点还请理解。

你上面有些说的非常不方便,或者是太麻烦,应该只是这一咱情况吧。
还是我理解错了。

如果你是想做登录的,我相信有很大一部分都是需要Cookei组合的,
就算不需要组合,你都登录成功了,拿着Cookie直接去访问其他页面就行了,没必要让他跳转了吧。

网站只所以302是想让获取Cookie之后跳转到主页,或者个人中心之类的。这些就算你不跳转也不会影响你直接拿着登录的Cookie去访问其他页面。

所以我非常 希望大家不要操作这一步,省流量是一方面,提高性能 才是关键。



最后感谢你的建议,这个采纳了


 楼主| 发表于 2015-1-30 09:29:57 | 显示全部楼层
站长苏飞 发表于 2015-1-30 08:21
你上面写这些多的意思是不是就是让让Http302跳转的时候自动处理Cookie?

我写的是根据协议来的,并不是 ...

感谢回复 ,我说的302跳转只是一个比方   我的意思是 HttpHelper最好能自行处理Cookie 不需要每次都手动管理它  好比 我要做登陆  用.NET自带的Httpclient或者类似的其他的框架 如果我想省事点 而且暂时不需要手动提取Cookie的话  我只需要保证发出请求时的对象是一样的就行了  好比我用的登陆的对像 可以接着去访问其他页面(这时它自身已经自动提取和保存了Cookie) 根本不用关心Cookie ,但你需要手动管理的时候  可以自己去手动管理,这样可以省下不少的时间和工作量。 这个功能我看了一下 论坛里还是有很多的呼声的 如果可能的话 希望楼主能增加。

   另外昨晚还看了一下您写的开飞助手  里面有个是使用的WebBrowser获取Cookie然后可以在HttpHelper里面使用 虽然使用场景不是很通用 不过也是一个目前的解决方案。

最后还是感谢您为我们提供了一个这么方便的Http请求框架的确在很多地方使用很符合大众的习惯  如果能加入Cookie自动管理  我个人认为就比较完美了!
发表于 2015-1-30 09:50:35 | 显示全部楼层
我的类是做Http协议的封装,不是做浏览器引擎的。再说你要访问那个页面,要取那个页面的Cookie,要执行那个JS才能取到Cookie这个我是不会知道的,关于集成引擎的功能,再说吧。
毕竟方向不一样。

这个呼声高是吧,我给你说个更高,比如输入一个登录页面的地址,输入账户密码可以实现自动登录,这不是更好。

但这路是需要程序交换的,不可能自动化,就是自动化也是部分需求而已。类库会变的非常笨重,

当然可以使用我的类开发出这类组件,但不能在类里面集成。
 楼主| 发表于 2015-1-30 12:46:27 | 显示全部楼层
站长苏飞 发表于 2015-1-30 09:50
我的类是做Http协议的封装,不是做浏览器引擎的。再说你要访问那个页面,要取那个页面的Cookie,要执行那个 ...

哪我接着还是使用.net自身的HttpClient吧,等以后HttpHelher更完美了再来吧!希望HttpHelper越来越好!
发表于 2015-1-30 13:19:16 | 显示全部楼层
站长苏飞 发表于 2015-1-30 09:50
我的类是做Http协议的封装,不是做浏览器引擎的。再说你要访问那个页面,要取那个页面的Cookie,要执行那个 ...

我之前遇到一种情况,就是做一个页面的登陆,提交用户名密码后,抓包发现自动进行了3次302重定向,最关键的是,每一次302的时候,cookies都会变,这种情况,是不是只能一步一步手动处理了?
发表于 2015-1-30 13:23:14 | 显示全部楼层
这个最好不要强求吧,HttpClient是什么东西我相信你应该知道(或者再深入一下),

完全不同的概念,比如钉鞋的有钉子,但不是卖钉子的。

方向不同,不能因为你有这样的需求,就得让钉鞋的改成卖钉子的吧。
这好像还谈不上加不加的问题。而是根本你理解的概念和我理解的是不一样的。或许是我错了,但也不排除你把概念能混了。

最明了的问题,如果完全可以替代,那微软是Sb吗?出两个完全 一样的类?从这点看微软的程序员很明显比你我要强的多

其实也没什么,协议就是协议,不会带有功能,只有规则,只有插件或者组件这种定向定需求的才会有特殊功能
发表于 2015-1-30 13:24:46 | 显示全部楼层
howzew 发表于 2015-1-30 13:19
我之前遇到一种情况,就是做一个页面的登陆,提交用户名密码后,抓包发现自动进行了3次302重定向,最关键 ...

如果都是从302页面返回的可以自动,如果有其他页面参杂的就必须手动了。第一种情况我下次更新会加上自动化,但第二种暂时没法加。
发表于 2015-1-30 13:29:57 | 显示全部楼层
站长苏飞 发表于 2015-1-30 13:24
如果都是从302页面返回的可以自动,如果有其他页面参杂的就必须手动了。第一种情况我下次更新会加上自动 ...

就是第一种情况,哇咔咔!这个太好了,感谢老大!
 楼主| 发表于 2015-2-1 00:56:55 | 显示全部楼层
站长苏飞 发表于 2015-1-30 13:24
如果都是从302页面返回的可以自动,如果有其他页面参杂的就必须手动了。第一种情况我下次更新会加上自动 ...

  正像上面的兄弟说的 有的网站302跳的很烦人 多跳连续跳而且每次cookie都在变化     如果下次能先把这个解决也要省心不少事了  期待中......  幸苦了
您需要登录后才可以回帖 登录 | 马上注册

本版积分规则

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

GMT+8, 2024-12-19 23:19

© 2014-2021

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