引用
模拟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实现远程下载,本例子通过java代码实现
### HttpClient 实现文件下载 #### 一、简介与原理 在Java开发中,经常会遇到需要通过HTTP协议来获取网络资源的需求,例如从Web服务器下载文件。Apache HttpClient 是一个用于发送HTTP请求的Java类库,它提供了...
使用HttpClient4.5实现https请求忽略SSL证书验证工具类
本篇文章将详细介绍如何使用HttpClient实现WebService客户端。 首先,我们需要了解WebService的基本概念。WebService是一种基于标准的、平台无关的、可以跨网络传输数据的方式。它使用SOAP(Simple Object Access ...
本文将深入探讨HttpClient如何实现这些功能。 ### POST请求 POST请求通常用于向服务器提交数据,如表单数据或者JSON对象。使用HttpClient发送POST请求的基本步骤如下: 1. **创建HttpClient对象**:首先,我们需要...
本教程将详细介绍如何利用HttpClient实现文件的上传与下载,并且实时监控进度,以便在UI上显示进度条。 首先,理解HttpClient的基本用法是至关重要的。HttpClient是Apache的一个组件,它提供了丰富的API来构建网络...
本篇文章将详细介绍如何使用Java的HttpClient实现异步请求资源。 首先,让我们了解什么是异步请求。在同步请求中,调用一个API或发送一个HTTP请求后,程序会等待响应返回,然后继续执行后续代码。而异步请求则不同...
从提供的文件名称列表"HttpClient实现文件的上传-lib"来看,这可能包含了所需的jar文件或者对应的Maven/Gradle依赖配置。 7. **最佳实践**:为了保持代码的整洁和可维护性,通常建议使用try-with-resources语句来...
`Httpclient` 是一个强大的工具,可以实现跨项目间的数据通信。本文将深入探讨如何使用 `Httpclient` 进行HTTP请求,实现不同项目之间的数据交换。 `Httpclient` 是Apache HttpClient库,它为Java开发者提供了全面...
通过熟练掌握HttpClient的使用,后台程序员可以更高效地实现与远程服务器的通信,特别是处理JSON数据的场景。 总的来说,"HTTPclient.jar"包含了实现HTTP请求和响应处理所需的所有类和接口。结合JSON解析库,后台...
这个标题"HttpClient中文文档,快速开发"表明我们有了一份关于HttpClient的中文版使用指南,对于快速理解和应用HttpClient进行开发来说非常有价值。 HttpClient允许开发者执行各种HTTP方法,如GET、POST、PUT、...
基于SSM+maven+httpClient+jsoup实现小说网站项目 基于SSM+maven+httpClient+jsoup实现小说网站项目 基于SSM+maven+httpClient+jsoup实现小说网站项目 基于SSM+maven+httpClient+jsoup实现小说网站项目 基于SSM+...
这个压缩包"安卓文件下载上传解压相关-Android使用HttpClient实现上传下载功能并监控进度.rar"提供了使用HttpClient实现这些功能的示例代码。HttpClient是一个Java库,它允许开发者创建HTTP请求,支持包括下载和上传...
"httpclient post json数据"这个主题就是关于如何使用C#的HttpClient类来向Web API发送POST请求,并且以JSON格式传输数据。下面将详细解释这一过程。 首先,理解JSON(JavaScript Object Notation)是一种轻量级的...
### 使用HttpClient类实现查询申通快递功能的知识点详解 #### 一、背景介绍 随着电子商务的迅速发展,物流服务已成为日常生活中不可或缺的一部分。对于企业和个人用户来说,能够实时查询包裹的状态变得尤为重要。...
这个样例项目旨在帮助初学者理解如何在Java中使用HttpClient来与Web服务器进行交互。 在JavaHttpProject这个项目中,你可以找到以下关键知识点: 1. **HttpClient的创建**:首先,你需要创建一个HttpClient实例。...
标题 "HttpClient + Spring 实现多线程" 涉及到的是如何在Spring框架中使用Apache HttpClient库来创建一个支持多线程的HTTP客户端服务。Apache HttpClient是一个强大的HTTP客户端API,它提供了丰富的功能来处理HTTP...
总的来说,通过HttpClient实现文件上传并提供进度显示,涉及到网络通信、多部分实体构造、监听进度和UI更新等多个环节。在实际应用中,应考虑性能优化、错误处理和兼容性问题,确保文件上传功能的稳定性和用户体验。
在使用HttpClient和HtmlParser实现网络爬虫的过程中,首先需要设置开发环境。这里推荐使用Eclipse Europa作为集成开发环境(IDE),并确保安装了JDK 1.6。在Eclipse中创建一个新的JAVA工程,并将HttpClient和...