Java语言使用HttpClient模拟浏览器登录

使用HttpClient来模拟浏览器登录网站,然后可以进行操作,比如发布信息等

第一步:获取实际的post网址,(不考虑复杂情况下)

  1、需要使用到firefox的httpfox插件,httpfox中clear一下,然后start开始捕获

  2、切换回网页的登录页面,开始输入自己的账号密码登录,登录成功后切回httpfox中stop,查看最近的post方法中包含的Post Data数据,和此post方法的url网址,

  3、这样就得到了模拟登录时需要Post的数据参数(Parameter)值(Value),以及实际Post的网址URL

第二步,使用HttpClient来登录

  1、简单核心代码如下

  

 1         CloseableHttpClient httpclient = HttpClients.createDefault();
 2         List<NameValuePair> postData = new ArrayList<NameValuePair>();
 3         //这里可能有多个参数
 4         postData.add(new BasicNameValuePair("username", "username"));
 5         postData.add(new BasicNameValuePair("password", "password"));
 6         //URL是实际的post地址,使用httpFox得到
 7         HttpPost httppost = new HttpPost(URL); 9         try {11                 httppost.setEntity(new UrlEncodedFormEntity(postData, "GBK"));
12                 response = httpclient.execute(httppost);
15         } catch (IOException e) {
16         } finally {
17             closeIO(response);
18         }
时间: 2024-08-05 18:00:23

Java语言使用HttpClient模拟浏览器登录的相关文章

httpClient模拟浏览器登陆之谜

httpClient能够模拟浏览器进行自动登陆,但是如果页面上加了一个小小的验证码,自动登陆就会变的非常非常之复杂. 下面我们讨论的问题,都是不考虑有验证码等防止自动化登陆的情况下进行处理. 利用httpClient进行一个简单的登陆示例: packagetest.ffm83.commons.httpClient; importjava.util.ArrayList; importjava.util.List; importorg.apache.http.HttpEntity; importor

第三百三十三节,web爬虫讲解2—Scrapy框架爬虫—Scrapy模拟浏览器登录—获取Scrapy框架Cookies

第三百三十三节,web爬虫讲解2-Scrapy框架爬虫-Scrapy模拟浏览器登录 模拟浏览器登录 start_requests()方法,可以返回一个请求给爬虫的起始网站,这个返回的请求相当于start_urls,start_requests()返回的请求会替代start_urls里的请求 Request()get请求,可以设置,url.cookie.回调函数 FormRequest.from_response()表单post提交,第一个必须参数,上一次响应cookie的response对象,其

web爬虫讲解—Scrapy框架爬虫—Scrapy模拟浏览器登录—获取Scrapy框架Cookies

模拟浏览器登录 start_requests()方法,可以返回一个请求给爬虫的起始网站,这个返回的请求相当于start_urls,start_requests()返回的请求会替代start_urls里的请求 Request()get请求,可以设置,url.cookie.回调函数 FormRequest.from_response()表单post提交,第一个必须参数,上一次响应cookie的response对象,其他参数,cookie.url.表单内容等 yield Request()可以将一个新

httpClient模拟浏览器发请求

一.介绍 httpClient是Apache公司的一个子项目, 用来提高高效的.最新的.功能丰富的支持http协议的客户端编程工具包.完成可以模拟浏览器发起请求行为. 二.简单使用例子 : 模拟浏览器发起访问谷歌首页请求 1.pom.xml 配置 <dependency> <groupId>commons-httpclient</groupId> <artifactId>commons-httpclient</artifactId> <ve

关于HttpClient模拟浏览器请求的參数乱码问题解决方式

转载请注明出处:http://blog.csdn.net/xiaojimanman/article/details/44407297 http://www.llwjy.com/blogdetail/9383e88e4bc7378b8318e15b0ac33559.html 个人博客站已经上线了,网址:www.llwjy.com,欢迎大家吐槽~ -----------------------------------------------------------------------------

关于HttpClient模拟浏览器请求的参数乱码问题解决方案

转载请注明出处:http://blog.csdn.net/xiaojimanman/article/details/44407297 http://www.llwjy.com/blogdetail/9383e88e4bc7378b8318e15b0ac33559.html 个人博客站已经上线了,网址:www.llwjy.com,欢迎大家吐槽~ -----------------------------------------------------------------------------

9、使用selenium + phantomjs 模拟浏览器登录网站

''' Selenium 模拟浏览器爬取网页信息 一种是真实的浏览器,也即是在程序调用浏览器时,会打开相应的浏览器来显示, 如:chrome,ie,safari,firefox 一种是伪浏览器,没有浏览器界面,只负责处理html,js和cookie的功能. 如:htmlunit,phantomjs 使用示例 ''' #author toloy from selenium import webdriver # driver = webdriver.Chrome("C:\Program Files

JAVA--利用HttpClient模拟浏览器登陆请求获取响应的Cookie

在通过java采集网页数据时,我们常常会遇到这样的问题: 站点需要登陆才能访问 而这种网站,一般都会对请求进行账号密码的验证,验证的方式也有多种,需要具体分析. 今天分析其中的一种情况: 站点对登陆密码进行动态加密,作为Cookie响应给客户端,之后的请求需要携带加密后的密码进行访问 登陆成功的响应头如下图: 之后的请求头: 因为每次登陆生成一个新的加密密码,所以之前的密码会失效 所以,需要在每次采集之前,先模拟登陆获取响应的密码,再作为cookie继续请求,我们选择采用HttpClient模拟

Java利用HttpClient进行网页登录

http://e.neusoft.edu.cn/nav_login 模拟浏览器登录上面这个网站,登录服务器根据验证码.refer和cookie保护措施,验证码在html文件里. import java.io.BufferedReader; import java.io.IOException; import java.io.InputStream; import java.io.InputStreamReader; import java.util.ArrayList; import java.