package com.abin.lee.httpurl;
import java.io.BufferedReader;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.io.PrintWriter;
import java.io.UnsupportedEncodingException;
import java.net.MalformedURLException;
import java.net.ProtocolException;
import java.net.URL;
import java.net.URLDecoder;
import javax.net.ssl.HttpsURLConnection;
import junit.framework.TestCase;
public class GetPacketsTest extends TestCase{
private static final String HTTPSURL = "https://localhost:8444/stsf/mvc/mobile/ssl/getMessageState";
public void testGetPackets() throws Exception{
System.setProperty("javax.net.ssl.keyStore","D:\\home\\jiekou.keystore");
System.setProperty("javax.net.ssl.keyStorePassword","lcd_8888");
System.setProperty("javax.net.ssl.trustStore","D:\\home\\jiekou.truststore");
System.setProperty("javax.net.ssl.trustStorePassword","lcd_8888");
String reqquestStr="terminalId="+java.net.URLEncoder.encode("sdf","utf-8")+"&userId=" +
java.net.URLEncoder.encode("1034","utf-8")+"&orderId="+
java.net.URLEncoder.encode("10344","utf-8")+"&payMoney="+
java.net.URLEncoder.encode("500","utf-8")+"&payCoin="+
java.net.URLEncoder.encode("40","utf-8")+"&payType="+
java.net.URLEncoder.encode("0","utf-8");
System.out.println(reqquestStr);
String result="";
URL target = new URL(HTTPSURL);
HttpsURLConnection httpConn =
(HttpsURLConnection)target.openConnection();
httpConn.setDoOutput(true);
httpConn.setDoInput(true);
httpConn.setUseCaches(false); //Post 请求不能使用缓存
httpConn.setRequestMethod("POST");//POST
httpConn.connect();
PrintWriter out = new PrintWriter(httpConn.getOutputStream());//写入请求参数
out.write(reqquestStr);
out.flush();
out.close();
System.out.println(httpConn.getResponseCode());
InputStream inputStream=httpConn.getInputStream();
InputStreamReader inputStreamReader=new InputStreamReader(inputStream,"utf-8");
BufferedReader in = new BufferedReader(inputStreamReader);
String lineStr;
while ((lineStr = in.readLine())!= null)
{
result += lineStr;
result+="\r\n";
}
result=URLDecoder.decode(result, "UTF-8");
in.close();
System.out.println(result);
}
}
分享到:
相关推荐
在Java中,使用HttpURLConnection类可以实现Http和Https请求,但是对于Https请求,需要进行SSL验证,以确保数据的安全性。下面我们将详细介绍如何实现Https请求的工具类。 首先,需要引入相关的Java包,包括java....
"TestHttp"可能是一个测试HTTP请求的Java类或文件,你可以使用它来测试上述代码片段是否有效。 总之,理解HTTPS的工作原理以及如何在Java中安全地或不安全地实现HTTPS请求是非常关键的。在开发过程中,合理使用这些...
java网络请求工具类 HttpURLConnection post请求工具类HttpURLConnection httpURLConnection = (HttpURLConnection) url .openConnection(); httpURLConnection.setRequestMethod("POST");// 提交模式
常见的联网请求方式有两种:HttpURLConnection和HttpClient。下面将详细讲解这两种方法,以及它们如何处理POST和GET请求。 **HttpURLConnection** HttpURLConnection是Java标准库提供的类,自Android 2.3(API级别9...
7. **HttpClient库**: Java内置的`HttpURLConnection`可以发送HTTPS请求,但更高级的库如Apache HttpClient提供了更多功能,如连接池、重试策略等,对于复杂的应用场景更加适用。 8. **HTTPS连接的建立**: 包括握手...
本篇文章将深入讲解如何使用`HttpURLConnection`类来模拟浏览器请求,并通过实例展示其在接口调用中的应用。 首先,`HttpURLConnection`是`java.net.URLConnection`的一个子类,用于处理HTTP协议。在使用`...
本篇文章将深入探讨如何基于HttpUrlConnection实现一个自定义的网络请求框架。HttpUrlConnection是Android系统提供的一个基础网络通信接口,相较于其他如Volley、OkHttp等第三方库,它更轻量级,适合对性能有较高...
本篇文章将深入探讨如何在Java中实现一个用于处理HTTPS请求的工具类。 首先,要实现HTTPS请求,我们需要导入Java的`java.net`和`javax.net.ssl`包,这两个包提供了处理网络连接和SSL/TLS安全协议的类。以下是一些...
在Java编程中,发送HTTP和HTTPS请求是常见的网络通信任务,尤其在开发Web服务客户端或者进行API测试时。本文将详细讲解如何使用Java发送GET和POST请求,以及涉及的HTTPS安全连接。 首先,理解HTTP和HTTPS的区别至关...
给定的代码片段中展示了通过 `HttpURLConnection` 类来发送一个 HTTPS POST 请求的基本流程。需要注意的是,该代码默认信任任何服务器证书(包括自签名证书),这可能会导致安全问题。因此,在实际应用中我们需要...
HttpURLConnection请求和HttpClient请求...................................................................
`HttpURLConnection`是Java标准库中的一个类,用于处理HTTP协议的请求和响应。在Java中,如果需要从网络上下载文件,`HttpURLConnection`是一个常见的选择,它提供了与HTTP服务器进行通信的能力,包括发送请求、接收...
本篇将详细讲解Android中如何使用HTTPS进行GET和POST请求。 首先,HTTPS基于SSL/TLS协议,提供加密处理、服务器身份验证和消息完整性检查等功能。在Android中,我们通常会用到HttpURLConnection或者第三方库如...
调用URL对象的openConnection( )来获取HttpURLConnection对象实例: HttpURLConnection conn = (HttpURLConnection) url.openConnection(); 设置HTTP请求使用的方法:conn.setRequestMethod("GET"); 设置连接超时,...
在实际开发中,需要注意的是,虽然自签证书可以方便测试,但在生产环境中,应当使用受信任的CA签发的证书,以确保用户数据的安全。同时,过度放宽信任策略可能导致安全风险,因此在使用自定义TrustManager时要格外...
然而,在某些特殊情况下,如进行测试、调试或者处理自签名证书的服务器,我们可能需要绕过HTTPS的证书校验。这时,`httpclient`库提供了一种解决方案,允许我们以非标准方式配置客户端,从而忽略证书校验错误。 `...
- `HttpURLConnection`是HTTP/HTTPS请求的基础,可以通过设置`setUrl(url)`和`setRequestMethod("POST")`来创建POST请求。 3. **Java HTTPS工具类设计**: - `HttpsUtils.java`可能包含一个名为`HttpsUtils`的类...
`HttpURLConnection`不仅支持HTTP,还支持HTTPS,这使得它在处理网络请求时具有广泛的适用性。 ### 2. GET请求 GET请求是最常见的HTTP方法,用于从服务器获取资源。在Java中使用`HttpURLConnection`发送GET请求的...
1. HttpURLConnection GET请求: GET请求是最基础的HTTP请求方法,常用于获取服务器上的资源。使用HttpURLConnection进行GET请求,主要步骤包括: - 创建URL对象并打开连接:`URL url = new URL(...
在IT行业中,模拟HTTPS请求是一项常见的任务,尤其是在进行API测试、客户端开发或者网络调试时。HTTPS(HyperText Transfer Protocol Secure)是一种基于SSL/TLS协议的HTTP安全版本,它通过加密通信来保护数据的安全...