网站公告列表

  没有公告

加入收藏
设为首页
联系站长
您现在的位置: 网络学院 >> 程序设计 >> Java编程 >> 文章正文
  Cookie又见Cookie-使用HtmlUnit/HttpClient中遇到的问题            【字体:
Cookie又见Cookie-使用HtmlUnit/HttpClient中遇到的问题
作者:佚名    文章来源:不详    点击数:    更新时间:2007-9-12    
    想试试HtmlUnit在测试网页上的表现,访问一个网页跳转到下一个网页之后,总是返回在server上找不到的页面,用IE访问就是好的。
正在装载数据……
另外有个奇怪的现象,在IE访问网页之后,再run写好的HtmlUnit代码就能顺利通过。关了IE之后,10分钟左右,代码都能通过。超过这个时间之后,就怎么折腾也通不过。
    根据这个现象分析,感觉很象是cookie在捣鬼。cookie有效的时候,HtmlUnit代码就能用IE产生的cookie发送请求,cookie失效之后,server端对cookie验证不通过,自然指向错误提示的页面。
    接下来在HtmlUnit的老巢里一通搜索,能找到的信息是在可怜。开源的东西,一个最大的短处就是文档很不完善。不过这也是人家可以赚钱的地方,什么东西都公布出来整理成文档了,哪一天商业化了,咨询费一分钱都收不到了。
    最终还是通过google搜到了HtmlUnit的wiki,它的站点还是有不少有用的信息,其中有一个帖子,题目是Single Cookie Header,内容如下:
Some web sites, especially those driven by Microsoft products (in my experience), require that cookies be sent from the web browser back to the server using a single Cookie: http header. The default behavior of HtmlUnit, which uses commons-httpclient, is to send multiple Cookie: headers, one for each cookie. See Bug 1117500 for details.
    意思是说,有些站点(大多数是使用微软产品的)要求cookie从浏览器端发送到server时,要使用单一cookie。而HtmlUnit用的HttpClient却是多个cookie。用一句 System.setProperty("apache.commons.httpclient.cookiespec", CookiePolicy.BROWSER_COMPATIBILITY);
就可以解决问题了。

    这样说来,即使发送的内容一样,但因为不是一次发送完成,服务期端就会认为cookie的内容不正确。这个我在用HttpClient做工具的时候已经遇到过一次。花了2天时间,仔细研究真实浏览器和这个假浏览器之间到底有什么差异。时间长了都要忘记了,这次又遇到这样的问题,还是记下来的好,免得以后又要忘记。
    HtmlUnit这样的好工具要是被这样的问题绊住而放弃真是太不值了。


本文来源:http://blog.csdn.net/eddyx/archive/2007/09/10/1779412.aspx
站内文章搜索 高级搜索
文章录入:admin    责任编辑:admin 
  • 上一篇文章:

  • 下一篇文章:
  • 发表评论】【加入收藏】【告诉好友】【打印此文】【关闭窗口
    最新热点 最新推荐 相关文章
     用java实现web服务器
     用java快速开发linux gu…
     正则表达式分解siemens交…
     [portal参考手册]目录
     jsp中调用oracle存储过程…
  • Core Java 之旅

  • 浅析Spring框架下PropertyPl…

  • 一个关于Comparator的使用例…

  • jsf自定义toolbar组件

  • ymbian视图结构 在 CCoeCont…

  • MVP——Model-Viewer-Presen…

  • boost.any源码重列

  • boost.array源码重列

  • boost.shared_ptr源码重列

  • boost.lexical_cast源码重列

  •   网友评论:(只显示最新10条。评论内容只代表网友观点,与本站立场无关!)
    网络学院©2007 www.23book.net
    为您提供web编程,vb编程,vc编程,服务器架设管理,数据库设计等方面的知识 站长:David