package com.o2obill.util;
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.commons.httpclient.HttpStatus;
import org.apache.commons.httpclient.NameValuePair;
import org.apache.commons.httpclient.methods.PostMethod;
import org.apache.commons.httpclient.params.HttpMethodParams;
import org.apache.commons.httpclient.protocol.Protocol;
import org.apache.log4j.Logger;
import com.o2obill.facade.jd.JingDongFunc;
import com.o2obill.util.JsonUtils;
public class JnPostUtil {
protected static final Logger logger = Logger.getLogger(JnPostUtil.class);
public static String postData(String url2,NameValuePair[] data) throws Exception {
String responseStr="";
HttpClient httpClient = new HttpClient();
Protocol myhttps = new Protocol("https", new MySSLProtocolSocketFactory(), 443);
Protocol.registerProtocol("https", myhttps);
String url = url2;
PostMethod postMethod = new PostMethod(url);
postMethod.getParams().setParameter(HttpMethodParams.HTTP_CONTENT_CHARSET, "UTF-8");
// 将表单的值放入postMethod中
postMethod.setRequestBody(data);
logger.info("请求地址:" + url2);
logger.info("请求报文内容:"+JsonUtils.toJson(data));
// postMethod.setr
// 执行postMethod
int statusCode = 0;
try {
statusCode = httpClient.executeMethod(postMethod);
} catch (HttpException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
if (statusCode == HttpStatus.SC_MOVED_PERMANENTLY
|| statusCode == HttpStatus.SC_MOVED_TEMPORARILY) {
// 从头中取出转向的地址
byte[] responseBody = postMethod.getResponseBody();
//处理内容
System.out.println(new String(responseBody)+"zzzzzzzzzzzzzzz");
String location = null;
// if (locationHeader != null) {
// location = locationHeader.getValue();
// responseStr="The page was redirected to:" + location;
// } else {
// responseStr="Location field value is null.";
// }
return responseStr;
} else {
try {
responseStr = postMethod.getResponseBodyAsString();
} catch (IOException e) {
e.printStackTrace();
}
}
postMethod.releaseConnection();
return responseStr;
}
}
- 浏览: 270339 次
- 性别:
- 来自: 上海
-
文章分类
- 全部博客 (187)
- spring (10)
- jquery (14)
- js (18)
- java (44)
- freemarker (7)
- 框架介绍 (1)
- tomcat (4)
- oracle (7)
- 喜欢的诗文 (4)
- linux (19)
- nokia (1)
- 那些事 (1)
- apache (3)
- dom4j (1)
- SOA (1)
- 企业架构 (2)
- baidu (1)
- svn (1)
- 测试 (4)
- liunx (0)
- memcahce (1)
- mysql (25)
- maven (4)
- 推广 (1)
- 网络 (1)
- vpn (1)
- drools (1)
- mongodb (1)
- redis (3)
- xlightweb (1)
- wifi (1)
- 学习资料 (1)
- git (1)
- 系统设计 (1)
- springboot (1)
- 自考 (0)
最新评论
-
zuo_qin_bo:
if(df==null){ //这个地方并发多的情况 ...
ThreadLocal解决dateFormat多线程错误 -
kongnan93:
好文!赞一个!!!!
jquery blockUI 居中显示 -
cxc_110928:
如果加上不能出现连续的数字或者字母 如 1234 abcd ...
用java 匹配一个数字和字母密码的正则表达式 -
wzwahl36:
http://www.atool.org/json2javab ...
JSON和JAVA的POJO的相互转换
- httpspost.rar (2.1 KB)
- 下载次数: 7
发表评论
-
折半查找法
2019-06-17 18:11 409public static void main(String[ ... -
js 加密 java解密
2017-12-05 16:27 922https://github.com/noisyle/cr ... -
java工程师成长之路
2017-03-04 17:43 598一、基础篇 1.1 JVM 1.1.1. J ... -
java 启动jar
2017-03-04 15:40 1671#!/bin/sh PRG="$0&qu ... -
ThreadLocal解决dateFormat多线程错误
2016-09-19 17:44 2181出处 http://www.blogjava.net/ki ... -
设计模式
2016-06-02 17:11 524http://www.cnblogs.com/xing9010 ... -
list分页
2016-05-11 09:56 416//分批保存数据 if(null!=aassetO ... -
根据输入执行代码块
2015-05-11 17:25 704/** * f-road.com Inc. * Copyrig ... -
java装饰器模式
2015-03-17 18:00 875java装饰器模式 意图:动态的将责任附加到对象上什么 ... -
java适配器模式
2015-03-17 17:54 656定义:属于结构型模式,其主要作用是将一个类的接口转换成客户 ... -
Java垃圾回收机制
2015-02-04 09:43 752垃圾收集GC(Garbage Coll ... -
jvisualvm结合jstatd进行远程监控
2015-01-27 16:17 868jvisualvm是Jdk自带的,具体点,据说是jdk1 ... -
最佳线程数总结
2015-01-26 11:53 0最佳线程数: 性能压 ... -
线程dump
2015-01-26 11:19 0Java 的线程 线程是指 ... -
几种阻塞队列
2015-01-26 11:11 0转自:http://blog.csdn.net/yydcj/ ... -
线程池的原理及实现
2015-01-26 10:53 7151、线程池简介: ... -
线程同步通信技术-wait notify 用法
2014-10-22 20:58 716/** * * <pre> * 子线程 ... -
Cisco VPN Client 442
2014-10-18 21:17 162典型的Cisco VPN Client 442 错误,之前的 ... -
JDK安装
2014-10-18 15:15 761学习Java 开发的第一步就是构建开发环境,JDK(Java ... -
MultiThreadHttpClient
2014-09-15 17:05 463package com.froad.points.bankse ...
相关推荐
### HTTPS 发送 POST 请求知识点详解 #### 一、概述 在现代互联网应用中,安全通信变得尤为重要。HTTPS(Hypertext Transfer Protocol Secure)是HTTP的安全版本,它通过使用SSL/TLS协议来保护通信数据的隐私性和...
在C++编程中,发送HTTPS POST请求并处理返回的数据是一个常见的任务,特别是在API交互或网络服务的集成中。本文将详细讲解如何使用libcurl库来实现这个功能,并涉及如何处理appKey与appSecret的安全传输。 libcurl...
请求体(即POST数据)通过querystring模块转换为适合HTTP POST请求的格式,并作为请求内容发送。当响应返回时,可以通过回调函数来处理返回的数据。 实例代码中的util.format函数用于格式化字符串,而url.parse函数...
综上所述,GET和POST请求在HTTPS环境下的主要差异在于数据的提交方式和用途,而两者都得益于HTTPS提供的加密保护,提高了网络通信的安全性。在设计和实现Web服务时,应根据具体需求选择合适的请求方法,同时充分利用...
在实际项目中,我们经常需要使用HttpClient来发送POST请求,以便与服务器进行数据交换。但是,当我们需要使用HTTPS协议时,事情变得复杂起来。HTTPS协议需要SSL/TLS证书来确保数据的安全,而HttpClient需要忽略证书...
POST请求的数据不在URL中,而是放在请求体里,因此可以处理大量数据,且数据不被浏览器记录或缓存,更适用于传递敏感信息。在C#中,我们可以使用`HttpClient`类的`PostAsync`方法配合`HttpContent`对象来发送POST...
这个“Java Https工具类,Java Https Post请求”可能是一个自定义的类,用于简化发送HTTPS POST请求的过程。以下是对这个主题的详细讲解: 1. **HTTPS基础**: - HTTPS是在HTTP上添加了SSL/TLS(Secure Sockets ...
Api接口调用封装,实现POSt,GET等数据请求,Api接口调用封装,实现POSt,GET等数据请求,Api接口调用封装,实现POSt,GET等数据请求,Api接口调用封装,实现POSt,GET等数据请求,Api接口调用封装,实现POSt,GET等数据请求,...
接着写入POST数据,最后读取响应并打印出来。 请记住,绕过SSL证书校验可能会暴露系统于潜在的安全威胁,因此在生产环境中应避免这样做。通常,正确做法是获取并安装服务器的合法证书,或者配置Java信任商店以信任...
接着,写入POST数据到请求流中。最后,获取并处理服务器的响应。 注意,由于涉及到HTTPS,我们需要处理证书验证问题。在某些情况下,如果我们信任服务器的证书,可能需要禁用默认的证书验证。但这是不推荐的做法,...
最近在工作中,由于合作商只提供uRL,我这边需要通过HTTP请求Get或Post方式请求Json数据,然后解析JSON格式,解析json我使用的第三方库rapidjson。开发环境是64位win7,VS2015。
POST请求常用于提交数据到服务器。在Android中实现HTTPS POST请求,基本步骤与GET类似,但需添加请求参数: 1. 添加请求头(Content-Type): ```java connection.setRequestProperty("Content-Type", "application...
向web认证服务器通过https接口post认证数据,delphi2005正常使用。最初的的时候采用indy控件,IdHTTP和IdSSLIOHandlerSocketOpenSSL配合,但是没有成功,对方服务器连接后立即断开链接,不返回任何数据,后来通过...
在Qt框架中,进行POST请求并处理JSON数据是常见的任务,尤其在开发网络应用程序时。以下是一个关于如何在Qt中实现这一功能的详细说明。 首先,确保已经安装了Qt库,特别是Qt网络模块,该模块提供了对HTTP协议的支持...
POST请求则更复杂一些,它允许在请求正文中携带大量数据,这些数据对用户是不可见的,适合发送敏感信息。在Winform中,可以使用`HttpWebRequest`类创建POST请求,需要设置Content-Type头并提供请求正文: ```csharp...
在Java中,使用HttpURLConnection类可以实现Http和Https请求,但是对于Https请求,需要进行SSL验证,以确保数据的安全性。下面我们将详细介绍如何实现Https请求的工具类。 首先,需要引入相关的Java包,包括java....
HttpWatch是一款强大的HTTP性能分析工具,它可以捕获浏览器发送的HTTP请求,包括POST数据。当POST数据是加密的,HttpWatch会显示加密后的数据,而不是明文。这使得开发者能够在不泄露敏感信息的情况下,观察和分析...