xiaoyong931011
2022-08-23 8392493854d03fbcc8df911c3f5e7b1430579853
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
package cc.mrbird.febs.pay.util;
import org.apache.commons.httpclient.HttpClient;
import org.apache.commons.httpclient.methods.InputStreamRequestEntity;
import org.apache.commons.httpclient.methods.PostMethod;
import org.apache.commons.httpclient.methods.RequestEntity;
 
import java.io.ByteArrayInputStream;
import java.io.ByteArrayOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.util.Vector;
 
 
public class HttpRespons {
      String urlString;     
      
        int defaultPort;     
          
        String file;     
          
        String host;     
          
        String path;     
          
        int port;     
          
        String protocol;     
          
        String query;     
          
        String ref;     
          
        String userInfo;     
          
        String contentEncoding;     
          
        String content;     
          
        String contentType;     
          
        int code;     
          
        String message;     
          
        String method;     
          
        int connectTimeout;     
          
        int readTimeout;     
          
        Vector<String> contentCollection;     
          
        public String getContent() {     
            return content;     
        }     
          
        public String getContentType() {     
            return contentType;     
        }     
          
        public int getCode() {     
            return code;     
        }     
          
        public String getMessage() {     
            return message;     
        }     
          
        public Vector<String> getContentCollection() {     
            return contentCollection;     
        }     
          
        public String getContentEncoding() {     
            return contentEncoding;     
        }     
          
        public String getMethod() {     
            return method;     
        }     
          
        public int getConnectTimeout() {     
            return connectTimeout;     
        }     
          
        public int getReadTimeout() {     
            return readTimeout;     
        }     
          
        public String getUrlString() {     
            return urlString;     
        }     
          
        public int getDefaultPort() {     
            return defaultPort;     
        }     
          
        public String getFile() {     
            return file;     
        }     
          
        public String getHost() {     
            return host;     
        }     
          
        public String getPath() {     
            return path;     
        }     
          
        public int getPort() {     
            return port;     
        }     
          
        public String getProtocol() {     
            return protocol;     
        }     
          
        public String getQuery() {     
            return query;     
        }     
          
        public String getRef() {     
            return ref;     
        }     
          
        public String getUserInfo() {     
            return userInfo;     
        } 
        
        
        public static String post(String params,String requestUrl) throws IOException {  
            // TODO Auto-generated method stub  
//            try {       
               //HttpRequester request = new HttpRequester();  
               // request.setDefaultContentEncoding("utf-8");     
                byte[] requestBytes = params.getBytes("utf-8"); // 将参数转为二进制流
                       HttpClient httpClient = new HttpClient(); // 客户端实例化
                       PostMethod postMethod = new PostMethod(requestUrl);
                       //设置请求头Authorization
//                       postMethod.setRequestHeader("Authorization", "Basic " + authorization);
                       // 设置请求头  Content-Type
                       postMethod.setRequestHeader("Content-Type", "application/json");
                       InputStream inputStream = new ByteArrayInputStream(requestBytes, 0,requestBytes.length);
                       RequestEntity requestEntity = new InputStreamRequestEntity(inputStream,
                                 requestBytes.length, "application/json; charset=utf-8"); // 请求体
                       postMethod.setRequestEntity(requestEntity);
                       httpClient.executeMethod(postMethod);// 执行请求
                       InputStream soapResponseStream = postMethod.getResponseBodyAsStream();// 获取返回的流
                       byte[] datas = null;
                        try {
                            datas = readInputStream(soapResponseStream);// 从输入流中读取数据
                        } catch (Exception e) {
                            e.printStackTrace();
                         }
                        String result = new String(datas, "UTF-8");// 将二进制流转为String
                         // 打印返回结果
                         // System.out.println(result);
                 
                         return result;   
        }  
        
        
        /**
              * 从输入流中读取数据
              * 
              * @param inStream
              * @return
              * @throws Exception
        */
        public static byte[] readInputStream(InputStream inStream) throws Exception {
                     ByteArrayOutputStream outStream = new ByteArrayOutputStream();
                     byte[] buffer = new byte[1024];
                     int len = 0;
                     while ((len = inStream.read(buffer)) != -1) {
                        outStream.write(buffer, 0, len);
                     }
                     byte[] data = outStream.toByteArray();
                     outStream.close();
                     inStream.close();
                    return data;
                 }
}