利用httpclient模拟站点的登录发帖回复

HttpClient 是 Apache Jakarta Common 下的子项目,可以用来提供支持 HTTP 协议的客户端编程工具包,模拟浏览器的行为。它提供了很多的方法来简化网络的访问,虽然大部分的功能可以使用较底层的 java.net.HttpURLConnection 来实现。例如:

实现了所有 HTTP 的方法( GET,POST 等)

支持 HTTPS 协议

支持代理服务器

自动维护 Cookies 等 

我们知道,http 协议是面向无连接的,要维持会话,现在基本上都是采用基于 Cookies 的方式( Session 机制也是通过 Cookies 实现的),所以 HttpClient 的自动维护 Cookies 的方式对我们的登录发帖回复非常有用(一般网站都需要先登录再发帖回复)。

下面的 例子都是采用 commons-httpclient-3.1.jar 包来实现的(虽然 commons-httpclient-4.0 已经发布,但是代码发生了较大的重构,调用方式也发生了很大的改变)。

下载 jar 包的路径为: http://hc.apache.org/downloads.cgi

由于 httpclient 使用了 Apache Jakarta common 下的子项目 logging 和 codec ,所以也需要在 http://commons.apache.org/ 下载这两个包:

commons-logging.jar

commons-codec-1.3.jar

为了更好地理解代码,设计的 UML 类图如下:

方法调用的时序图如下:

时间: 2024-09-01 17:33:31

利用httpclient模拟站点的登录发帖回复的相关文章

模拟站点的自动登录发帖回复

本文采用 HttpClient 来模拟站点的登录发帖回复,介绍 HttpClient 的用法和常见问题的解决方案. HttpClient 是 Apache Jakarta Common 下的子项目,可以用来提供支持 HTTP 协议的客户端编程工具包,模拟浏览器的行为.它提供了很多的方法来简化网络的访问,虽然大部分的功能可以使用较底层的 java.net.HttpURLConnection 来实现.例如: * 实现了所有 HTTP 的方法( GET,POST 等) * 支持 HTTPS 协议 *

httpclient-java 利用 httpClient 模拟登陆网站时,网站重定向,我该怎么进入后继的网页啊!

问题描述 java 利用 httpClient 模拟登陆网站时,网站重定向,我该怎么进入后继的网页啊! 我用的是httpclient4.3.6 .我模拟登陆我们学校的网站,获取了cookies,但是我用httpwatch看 有重定向的问题,我不知道怎么进入后面的网页!求解!我贴上代码,求代码详解,谢谢!!!小弟初学java 现需要做这个操作,很是艰难呀!感激不尽! 解决方案 public class Test { public static void main(String[] args) th

Java利用HttpClient模拟POST表单操作应用及注意事项_java

HttpClient使用post方法提交数据 源代码: 复制代码 代码如下: package post; import Java.io.IOException; import org.apache.commons.httpclient.Header; import org.apache.commons.httpclient.HttpClient; import org.apache.commons.httpclient.HttpException; import org.apache.commo

ajax-php采集高手进:利用curl模拟登录抓取数据遇到json调用问题不成功,求助!

问题描述 php采集高手进:利用curl模拟登录抓取数据遇到json调用问题不成功,求助! 我在抓取一个页面的信息(假设a.php),这个页面只是一些基本的html框架,其他关键信息是通过ajax请求(b.php)回来的,返回的是json,然后在通过页面js将json解析,绘制到页面上.问题的关键是ajax请求的信息里有个手机号码需要登录后才显示完整,原网站利用ajax请求b.php获得json数据,如果直接访问b.php也是可以直接得到:{"name":"zhangsan&

httpclient 模拟登录邮箱

问题描述 httpclient 模拟登录邮箱 httpclient 模拟登录邮箱 登录邮箱 private static String USERNAME = "111111"; private static String PASSWORD = "222222"; private static String LOGINURL = "https://mail.qq.com"; public static void main(String[] args

java web 技术-求助!关于模拟登陆利用接收的cookie判断登录是否成功,遇到了问题,,求大神们相助!在下多谢!

问题描述 求助!关于模拟登陆利用接收的cookie判断登录是否成功,遇到了问题,,求大神们相助!在下多谢! 在下学生最近在做一个用java开发模拟登陆校内网的项目,可是学校使用struts2做的,url的尾缀是.action,登陆前和登陆后的url一致,无法用html来判断,,于是就想用cookie来判断登陆是否成功,可是面临一个问题就是请求标头的Cookie是JSESSIONID=3CDAB1BA4520BD1F53E62F9D5BCCCC49之类的,发送的jsessionid和接收的jses

解决方案-python或java httpclient模拟登录,cookie获取问题

问题描述 python或java httpclient模拟登录,cookie获取问题 目前准备用python或java httpclient做一个模拟登录的程序,可是无法获取cookie, 原因是,请求登录URL时,服务器反应是分两步来进行的.流程大概如下: 1. 首先,服务器会先发过来一个.JS文件,浏览器执行其中的函数,生成cookie,貌似存到document.cookie中. 2. 然后,需要带着生成的cookie才能去访问登录URL. 因为我的程序不能像浏览器一样执行.js文件,所以也

httpclient模拟登录问题

问题描述 各位好,我在使用httpclient模拟登录时,出现403错误:Methodfailed:HTTP/1.1403Forbidden<html><head><title>403Forbidden</title></head><bodybgcolor="white"><center><h1>403Forbidden</h1></center><hr>

java-用JAVA HttpClient模拟登陆网站时登陆成功后网站重定向,请问一下 怎么解决???谢谢拉

问题描述 用JAVA HttpClient模拟登陆网站时登陆成功后网站重定向,请问一下 怎么解决???谢谢拉 我觉得最有问题的地方就是我没有触发这个js事件 js的部分代码如下 通过这个JS代码我猜测YAHOO.util.Connect.asyncRequest('xxx','XXX', callback, null) 和我直接通过get和post请求服务器 服务器处理的话会有些许不同 . 并且我通过post请求登陆后 服务器返回了我 这代表登陆成功了 可是 当请求成功后 转向网站的个人主页的时