HttpInvoker http请求工具类

 1 import java.io.BufferedReader;
 2 import java.io.DataOutputStream;
 3 import java.io.IOException;
 4 import java.io.InputStreamReader;
 5 import java.net.HttpURLConnection;
 6 import java.net.URL;
 7 import java.util.Map;
 8
 9 /**
10  * HTTP请求类
11  * @author
12  */
13 public class HttpInvoker {
14
15     /**
16      * GET请求
17      * @param getUrl
18      * @throws IOException
19      * @return 提取HTTP响应报文包体,以字符串形式返回
20      */
21     public static String httpGet(String getUrl) throws IOException {
22         //1 把字符串形式的网址转成 java.net.URL对象
23         URL getURL = new URL(getUrl);
24         /*
25          * 2 通过java.net.URL打开一个连接(获取一个代表与远程对象的URLConnection对象),并转为 HttpURLConnection ,
26             Returns a URLConnection object that represents a connection
27             to the remote object referred to by the URL.
28          */
29         HttpURLConnection connection = (HttpURLConnection) getURL.openConnection();
30         //3 通过HttpURLConnection对象真正获取连接
31         connection.connect();
32         //4 连接后那么这个远程连接对象就可以通过自身的一些方法读取到连接的信息了,这里是把流转成字符串
33         BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(connection.getInputStream()));
34         StringBuilder sbStr = new StringBuilder();
35         String line;
36         while ((line = bufferedReader.readLine()) != null) {
37             sbStr.append(line);
38         }
39         bufferedReader.close();
40         connection.disconnect();
41         return new String(sbStr.toString().getBytes(),"utf-8");
42     }
43
44
45     public static void main(String[] args) throws IOException {
46         String url = "https://www.hao123.com/?tn=99682755_hao_pg";
47         String rtn_json = httpGet(url);
48         System.out.println(""+rtn_json);
49     }
50
51     /**
52      * POST请求
53      * @param postUrl
54      * @param postHeaders
55      * @param postEntity
56      * @throws IOException
57      * @return 提取HTTP响应报文包体,以字符串形式返回
58      */
59     public static String httpPost(String postUrl,Map<String, String> postHeaders, String postEntity) throws IOException {
60
61         URL postURL = new URL(postUrl);
62         HttpURLConnection httpURLConnection = (HttpURLConnection) postURL.openConnection();
63         httpURLConnection.setDoOutput(true);
64         httpURLConnection.setDoInput(true);
65         httpURLConnection.setRequestMethod("POST");
66         httpURLConnection.setUseCaches(false);
67         httpURLConnection.setInstanceFollowRedirects(true);
68         httpURLConnection.setRequestProperty(" Content-Type ", " application/x-www-form-urlencoded ");
69
70         if(postHeaders != null) {
71             for(String pKey : postHeaders.keySet()) {
72                 httpURLConnection.setRequestProperty(pKey, postHeaders.get(pKey));
73             }
74         }
75         if(postEntity != null) {
76             DataOutputStream out = new DataOutputStream(httpURLConnection.getOutputStream());
77             out.writeBytes(postEntity);
78             out.flush();
79             out.close(); // flush and close
80         }
81         //connection.connect();
82         BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(httpURLConnection.getInputStream()));
83         StringBuilder sbStr = new StringBuilder();
84         String line;
85         while ((line = bufferedReader.readLine()) != null) {
86             sbStr.append(line);
87         }
88         bufferedReader.close();
89         httpURLConnection.disconnect();
90         return new String(sbStr.toString().getBytes(),"utf-8");
91     }
92
93 }
时间: 2024-10-06 07:38:26

HttpInvoker http请求工具类的相关文章

我的Android进阶之旅------&gt;Android关于HttpsURLConnection一个忽略Https证书是否正确的Https请求工具类

下面是一个Android HttpsURLConnection忽略Https证书是否正确的Https请求工具类,不需要验证服务器端证书是否正确 import java.io.BufferedReader; import java.io.IOException; import java.io.InputStream; import java.io.InputStreamReader; import java.io.OutputStream; import java.io.UnsupportedEn

iOS_21团购_通过block对请求工具类的代理方法进行二次封装

最终效果图: [点评]提供的工具类DPAPI 在请求完毕后,使用的是代理机制,当一次请求成功或者失败时,会调用代理的相应方法 为了将点评提供的工具类DPAPI进行二次封装, 再次定义了一个block: typedef  void(^RequestDoneCallBackBlock)(id deals,NSError *err); 该block有两个参数, 分别是成功时,服务器返回的deals字典数组 另一个参数是:请求失败时,服务器返回的失败信息 两个参数分别对应代理的两个方法(即成功.失败时分

java jdk原生的http请求工具类

package com.base; import java.io.IOException; import java.io.InputStream; import java.io.InputStreamReader; import java.io.OutputStream; import java.io.Reader; import java.net.HttpURLConnection; import java.net.SocketTimeoutException; import java.net

发送请求工具类

采用HttpClient与远程服务器通信,所以定义一个工具类对HttpClient进行封装getRequest():发送get请求postRequest():发送post请求 FutureTask(Callable<V> callable)  //创建一个 FutureTask,一旦运行就执行给定的 Callable. FutureTask(Runnable runnable, V result)   //创建一个 FutureTask,一旦运行就执行给定的 Runnable,并安排成功完成时

Java http请求工具类

该工具类可以调用POST请求或者Get请求,参数以Map的方式传入,支持获获取返回值,返回值接收类型为String HttpRequestUtil.java package com.util; import java.io.BufferedReader;import java.io.IOException;import java.io.InputStreamReader;import java.io.PrintWriter;import java.util.List;import java.ut

Java HttpClient4.2.x版本get、post请求工具类

公司业务需要,跟很多公司合作,经常需要请求外部http接口,而项目架构是一个比较老的框架整合,仅http请求的工具类就很多个,显得杂乱无章: 有些接口测试时,对方做了IP白名单限制的,ZIP压缩等要求,现有的http工具类无法满足要求,又不能去修改,因为很多地方在用:想引入最新HttpClient版本的依赖,确发现与现有的jar包冲突: 无耐只能使用现有的jar重新封装,具体代码演示如下: post请求方式1 /*** POST请求,超时时间必须设置* @param url* @param js

网络请求工具类WebServiceUtils

如果对WebService一无所知的话,建议先看看这两篇博客,对你WebService很有帮助. http://blog.csdn.NET/eyu8874521/article/details/9125987 http://blog.csdn.net/xiaanming/article/details/16871117 本人也是菜鸟一名,WebService已经是很老的技术了,但现在仍有使用,刚开始接触的时候,是无从入手呀,看了上面几篇文章以后,渐渐的会使用了,这里感谢网上开源的作者和文章,网上

基于AFNetworking封装的网络请求工具类

前提,导入AFNetworking框架 关于修改AFN源码:通常序列化时做对text/plan等的支持时,可以一劳永逸的修改源代码,在acceptableContentTypes中修改即可. GGRequest.h 1 #import <Foundation/Foundation.h> 2 3 @interface GGRequest : NSObject 4 /** 5 * 网络请求方法 6 * 7 * @param url 将要访问的链接 8 * @param param 传入的参数 9

https请求工具类

import java.io.IOException;import java.io.UnsupportedEncodingException;import java.lang.reflect.Field;import java.security.KeyManagementException;import java.security.NoSuchAlgorithmException;import java.security.cert.CertificateException;import java