`

HttpClient 实现快盘签到

    博客分类:
  • Java
 
阅读更多
引用
模拟POST提交实现快盘签到




import java.io.IOException;
import java.io.UnsupportedEncodingException;

import org.apache.http.HttpEntity;
import org.apache.http.HttpResponse;
import org.apache.http.ParseException;
import org.apache.http.client.ClientProtocolException;
import org.apache.http.client.HttpClient;
import org.apache.http.client.methods.HttpPost;
import org.apache.http.entity.StringEntity;
import org.apache.http.impl.client.DefaultHttpClient;
import org.apache.http.util.EntityUtils;
import org.dom4j.Document;
import org.dom4j.DocumentException;
import org.dom4j.DocumentHelper;
import org.dom4j.Element;
/**
 * @author  <a href="mailto:foohsinglong@gmail.com">kevin.long</a>
 * @description
 */
public class TestKlive {

	private static HttpClient hc = new DefaultHttpClient();

	public static String postXml(String url, String xmlData) {
		String body = null;
		try {
			HttpPost httppost = new HttpPost(url);
			httppost.setHeader("Content-Type", "text/xml;charset=utf-8");
			httppost.setHeader("v", "2");
			// 设置参数
			httppost.setEntity(new StringEntity(xmlData));
			// 发送请求
			HttpResponse httpresponse = hc.execute(httppost);
			// 获取返回数据
			HttpEntity entity = httpresponse.getEntity();
			body = EntityUtils.toString(entity);
			if (entity != null) {
				entity.consumeContent();
			}
            
		} catch (UnsupportedEncodingException e) {
			e.printStackTrace();
		} catch (ClientProtocolException e) {
			e.printStackTrace();
		} catch (ParseException e) {
			e.printStackTrace();
		} catch (IOException e) {
			e.printStackTrace();
		}
		return body;
	}
	
	/**
	 * @param args
	 * @throws DocumentException 
	 */
	public static void main(String[] args) throws DocumentException {
		String getTokenUrl = "http://api-filesys.wps.cn/xsvr/login/";
		String signUrl = "http://point.wps.cn/kpoints/submit/sign/";
		StringBuffer xmlData = new StringBuffer();
		xmlData.append("<?xml version=\"1.0\" encoding=\"utf-8\" ?><xLive><user>");
		xmlData.append("jinshany000@sina.com");
		xmlData.append("</user><password>");
		xmlData.append("123456");
		xmlData.append("</password><deviceId>greenx-a34064b5b75e0c100f52c6c0fe80d887|

GEBINWIN</deviceId><clientName>greenx</clientName><clientVersion>1.0.0.90</clientVersion></xLive>");
		System.out.println(xmlData);
		String body = postXml(getTokenUrl, xmlData.toString());
		System.out.println(body);
		Document document = DocumentHelper.parseText(body);
		Element rootElt = document.getRootElement();
		String userId = rootElt.elementTextTrim("userId");
		String token = rootElt.elementTextTrim("token");
		System.out.println("获取信息\t"+userId+":"+token);
		xmlData.delete(0, xmlData.length());
		xmlData.append("<?xml version=\"1.0\" encoding=\"utf-8\" ?><xLive><token>");
		xmlData.append(token);
		xmlData.append("</token><userId>");
		xmlData.append(userId);
		xmlData.append("</userId></xLive>");
		body = postXml(signUrl, xmlData.toString());
		System.out.println(body);
	}
}

分享到:
评论

相关推荐

    HttpClient实现远程下载

    通过HttpClient实现远程下载,本例子通过java代码实现

    HttpClient实现文件下载

    ### HttpClient 实现文件下载 #### 一、简介与原理 在Java开发中,经常会遇到需要通过HTTP协议来获取网络资源的需求,例如从Web服务器下载文件。Apache HttpClient 是一个用于发送HTTP请求的Java类库,它提供了...

    HttpClient4.5 实现https忽略SSL证书验证

    使用HttpClient4.5实现https请求忽略SSL证书验证工具类

    httpclient实现webservice客户端

    本篇文章将详细介绍如何使用HttpClient实现WebService客户端。 首先,我们需要了解WebService的基本概念。WebService是一种基于标准的、平台无关的、可以跨网络传输数据的方式。它使用SOAP(Simple Object Access ...

    HttpClient实现POST GET和文件下载

    本文将深入探讨HttpClient如何实现这些功能。 ### POST请求 POST请求通常用于向服务器提交数据,如表单数据或者JSON对象。使用HttpClient发送POST请求的基本步骤如下: 1. **创建HttpClient对象**:首先,我们需要...

    Android使用HttpClient实现上传下载功能并监控进度

    本教程将详细介绍如何利用HttpClient实现文件的上传与下载,并且实时监控进度,以便在UI上显示进度条。 首先,理解HttpClient的基本用法是至关重要的。HttpClient是Apache的一个组件,它提供了丰富的API来构建网络...

    java实现HttpClient异步请求资源的方法

    本篇文章将详细介绍如何使用Java的HttpClient实现异步请求资源。 首先,让我们了解什么是异步请求。在同步请求中,调用一个API或发送一个HTTP请求后,程序会等待响应返回,然后继续执行后续代码。而异步请求则不同...

    使用HttpClient实现文件的上传所需lib

    从提供的文件名称列表"HttpClient实现文件的上传-lib"来看,这可能包含了所需的jar文件或者对应的Maven/Gradle依赖配置。 7. **最佳实践**:为了保持代码的整洁和可维护性,通常建议使用try-with-resources语句来...

    httpclient实现跨项目数据交互

    `Httpclient` 是一个强大的工具,可以实现跨项目间的数据通信。本文将深入探讨如何使用 `Httpclient` 进行HTTP请求,实现不同项目之间的数据交换。 `Httpclient` 是Apache HttpClient库,它为Java开发者提供了全面...

    httpclient所有jar包以及实现类

    通过熟练掌握HttpClient的使用,后台程序员可以更高效地实现与远程服务器的通信,特别是处理JSON数据的场景。 总的来说,"HTTPclient.jar"包含了实现HTTP请求和响应处理所需的所有类和接口。结合JSON解析库,后台...

    HttpClient中文文档,快速开发

    这个标题"HttpClient中文文档,快速开发"表明我们有了一份关于HttpClient的中文版使用指南,对于快速理解和应用HttpClient进行开发来说非常有价值。 HttpClient允许开发者执行各种HTTP方法,如GET、POST、PUT、...

    基于SSM+maven+httpClient+jsoup实现小说网站项目.zip

    基于SSM+maven+httpClient+jsoup实现小说网站项目 基于SSM+maven+httpClient+jsoup实现小说网站项目 基于SSM+maven+httpClient+jsoup实现小说网站项目 基于SSM+maven+httpClient+jsoup实现小说网站项目 基于SSM+...

    安卓文件下载上传解压相关-Android使用HttpClient实现上传下载功能并监控进度.rar

    这个压缩包"安卓文件下载上传解压相关-Android使用HttpClient实现上传下载功能并监控进度.rar"提供了使用HttpClient实现这些功能的示例代码。HttpClient是一个Java库,它允许开发者创建HTTP请求,支持包括下载和上传...

    httpclient post json 数据

    "httpclient post json数据"这个主题就是关于如何使用C#的HttpClient类来向Web API发送POST请求,并且以JSON格式传输数据。下面将详细解释这一过程。 首先,理解JSON(JavaScript Object Notation)是一种轻量级的...

    用HttpClient类实现查询申通快递的功能

    ### 使用HttpClient类实现查询申通快递功能的知识点详解 #### 一、背景介绍 随着电子商务的迅速发展,物流服务已成为日常生活中不可或缺的一部分。对于企业和个人用户来说,能够实时查询包裹的状态变得尤为重要。...

    java实现httpClient样例

    这个样例项目旨在帮助初学者理解如何在Java中使用HttpClient来与Web服务器进行交互。 在JavaHttpProject这个项目中,你可以找到以下关键知识点: 1. **HttpClient的创建**:首先,你需要创建一个HttpClient实例。...

    HttpClient+ Spring实现多线程

    标题 "HttpClient + Spring 实现多线程" 涉及到的是如何在Spring框架中使用Apache HttpClient库来创建一个支持多线程的HTTP客户端服务。Apache HttpClient是一个强大的HTTP客户端API,它提供了丰富的功能来处理HTTP...

    Android基于HttpClient实现文件上传,提供进度条接口实现

    总的来说,通过HttpClient实现文件上传并提供进度显示,涉及到网络通信、多部分实体构造、监听进度和UI更新等多个环节。在实际应用中,应考虑性能优化、错误处理和兼容性问题,确保文件上传功能的稳定性和用户体验。

    使用 HttpClient 和 HtmlParser 实现简易网络爬虫

    在使用HttpClient和HtmlParser实现网络爬虫的过程中,首先需要设置开发环境。这里推荐使用Eclipse Europa作为集成开发环境(IDE),并确保安装了JDK 1.6。在Eclipse中创建一个新的JAVA工程,并将HttpClient和...

Global site tag (gtag.js) - Google Analytics