第一:得到登陆的页面
用Get方法去测试。查看以下结果:
1. 是否得到预期的页面? 指一些数据, 比如从IE上能显示的HTML Body这类东东
2. 是否得到Sessions cookie?
一般登陆进去之后, 才会有这样的Sessions Cookie, 记得上一讲中的Http Response Header吗, 里面的Set Cookies, 可能就包含Sessions Cookie。如果此时没有Set Cookies肯定说明此时Session 没有建立。 说明你还需要做一步工作,就是"建立Sessions" 等下会讲到。
(我引申一下, 即使存在Set Cookie这样的字段, 一定保证里面设置的就是Session吗? 也不一定, 保险的做法是, 按照浏览器的习惯, 从主页, 再到登陆页面,主页的目的只是为了获取必要的Cookie 不要一步登天, 当然, 我们可以测试一下先, 免得做不必要的登陆主页,获取Cookie的操作)
如果, 上面的set cookie你也有了, 请求的URL也确认无误, 但死活就是得不到预期的登陆界面。很可能就是对方有个字段没有设置:User-Agent, 这个是指明你采用了哪个客户端像服务器发送请求, 比如常用的有IE, FF, Chrome,设置主流的流浪器就成!
第二: 建立Session. 这是在第一步失败的情况下需要的工作。通常的情况是, 从主页去Get一把, 从而得到Cookie。 下次Login请求的时候,将这些Cookie带进去。搞定...
HTTPClient提供了一套自动机制帮我们发送Cookie,Cookie Store, 把Response中的Cookie放置其中,并在发送的时候,帮我们发过去(如果没有发送过去, 检查Cookie Store是否为同一个)。
如果依然没有发送过去, 这个时候就要检测Cookie Scope, 比如:
A cookie for host "jakarta.apache.org" will not be sent to host "tomcat.apache.org". A cookie for domain ".apache.org" will be sent to both
注意,BT的来了:
A cookie for host "apache.org", without the leading dot, will not be sent to "jakarta.apache.org".
如果还不行...崩溃... 先别看了, 以后再去这里寻求帮助好了
第三: 分析表单。 这个我觉得没有必要, 我分析的方式是通过浏览器来的。 不想搞那么复杂。 通过配置文件去灵活转化,何必搞表单这么复杂的解析工作?
OK, 我觉得我们可以按照Browser的习惯处理HttpClient的应用:
1. 得到必要的Cookie包括Session id, 这个时候,我们还是用用主页登陆比较好。
此时如果主页没有可用的信息, 则我们只需要处理Response中的Cookie字段就好了。
2. 找到访问的路径。 设置必要的参数对, 和必要的url(包括表单项目)
分享到:
相关推荐
httpclient4.0所需jar包
httpclient4.0包,希望对大家有用,开发java的可以用到。httpclient4.0
其中有4.1.1jar包、httpclient说明文档doc格式、简单使用例子post\get方式都有,导入类可用。项目中使用很方便!
1.含有官方HttpClient4.0的jar包 2.有之前HttpClient3.0的jar包,就是import importorg.apache.commons.*; 3.包含jsoup,解析HTML的jar包 4.包含jcookie.jar及jtidy-r938.jar的jar包.
httpclient-4.0.jar, httpclient-4.0.jar, httpclient-4.0.jar
httpclient4.0源文件,httpclient4.0源文件,httpclient4.0源文件
httpclient-4.0-beta1.jar
Android升级后旧版本的httpclient4.0 apache-mime4j-0.6 commons-codec-1.4 commons-logging-1.1.1 httpclient-4.0.1 httpcore-4.0.1 httpmime-4.0.1
HttpClient相关jar包 博文链接:https://roomy.iteye.com/blog/681825
网上找的,共同分享! HttpClient4.0.3 Tutorial中文翻译!
httpclient-4.0-beta2.jarhttpclient-4.0-beta2.jarhttpclient-4.0-beta2.jarhttpclient-4.0-beta2.jarhttpclient-4.0-beta2.jarhttpclient-4.0-beta2.jarhttpclient-4.0-beta2.jarhttpclient-4.0-beta2.jar
NULL 博文链接:https://yhz61010.iteye.com/blog/654678
新浪自动发博文的错误解决方法: "code":"B06001","data":null,"ycon_length":null,"jcon_length":null}
HttpClient 是 Apache Jakarta Common 下的子项目,可以用来提供高效的、最新的、功能丰富的支持 HTTP 协议的客户端编程工具包,...本文首先介绍 HTTPClient,然后根据作者实际工作经验给出了一些常见问题的解决方法。
NULL 博文链接:https://yhz61010.iteye.com/blog/868036
赠送jar包:httpclient-4.5.13.jar; 赠送原API文档:httpclient-4.5.13-javadoc.jar; 赠送源代码:httpclient-4.5.13-sources.jar; 赠送Maven依赖信息文件:httpclient-4.5.13.pom; 包含翻译后的API文档:...
myeclipse项目全部文件 博文链接:https://hujin.iteye.com/blog/162502
import org.apache.commons.httpclient.HttpClient; import org.apache.commons.httpclient.HttpException; import org.apache.commons.httpclient.HttpStatus; import org.apache.commons.httpclient.methods....
HttpClient-4.0.1 官方教程,包含HttpClient-4.0.1的基本用法,讲解清晰,格式为PDF