http请求(一) ---- 工具
2
import
java.io.ByteArrayOutputStream;
3
import
java.io.DataOutputStream;
4
import
java.io.InputStream;
5
import
java.net.HttpURLConnection;
6
import
java.net.URL;
7
import
java.net.URLEncoder;
8
import
java.util.Map;
9
import
android.util.Log;
10
11
public
class
NetUtil {
12
13
private
static
final
String TAG
=
"
NetUtil
"
;
14
private
static
final
int
RESPONSE_OK
=
200
;
15
16
public
static
InputStream sendPostRequest(String urlPath,
17
Map
<
String, String
>
params, String encoding)
throws
Exception {
18
//
String param = "method=save&id=24&name="
19
//
+ URLEncoder.encode("大圆", "UTF-8");
20
StringBuilder sb
=
new
StringBuilder();
21
for
(Map.Entry
<
String, String
>
entry : params.entrySet()) {
22
sb.append(entry.getKey()).append(
"
=
"
)
23
.append(URLEncoder.encode(entry.getValue(), encoding))
24
.append(
"
&
"
);
25
}
26
sb.deleteCharAt(sb.lastIndexOf(
"
&
"
));
27
byte
[] data
=
sb.toString().getBytes();
28
URL url
=
new
URL(urlPath);
29
HttpURLConnection conn
=
(HttpURLConnection) url.openConnection();
30
conn.setRequestMethod(
"
POST
"
);
31
conn.setReadTimeout(
5
*
1000
);
32
conn.setDoOutput(
true
);
//
发送POST请求, 必须设置允许输出
33
conn.setUseCaches(
false
);
34
conn.setRequestProperty(
"
Connection
"
,
"
Keep-Alive
"
);
//
维持长链接
35
conn.setRequestProperty(
"
Charset
"
,
"
UTF-8
"
);
36
//
设置输入参数的大小,把参数转化为字节数组
37
conn.setRequestProperty(
"
Content-Length
"
, String.valueOf(data.length));
38
//
设置数据类型
39
conn.setRequestProperty(
"
Content-Type
"
,
40
"
application/x-www-form-urlencoded
"
);
41
42
DataOutputStream outStream
=
new
DataOutputStream(
43
conn.getOutputStream());
44
outStream.write(data);
45
outStream.flush();
46
outStream.close();
47
if
(conn.getResponseCode()
==
RESPONSE_OK) {
48
return
conn.getInputStream();
49
}
50
return
null
;
51
}
52
53
/*
54
* 得到http返回的输入流,并且转化成String
55
*/
56
public
static
String getTextContent(String urlPath, String encoding)
57
throws
Exception {
58
URL url
=
new
URL(urlPath);
59
HttpURLConnection conn
=
(HttpURLConnection) url.openConnection();
60
conn.setRequestMethod(
"
GET
"
);
61
conn.setReadTimeout(
5
*
1000
);
62
if
(conn.getResponseCode()
==
RESPONSE_OK) {
63
InputStream inStream
=
conn.getInputStream();
64
byte
[] data
=
readStream(inStream);
65
System.out.println(
new
String(data, encoding));
66
return
new
String(data, encoding);
67
}
68
return
null
;
69
}
70
71
//
读取数据
72
public
static
byte
[] readStream(InputStream inStream)
throws
Exception {
73
ByteArrayOutputStream outStream
=
new
ByteArrayOutputStream();
74
byte
[] buffer
=
new
byte
[
2048
];
75
int
length
=
-
1
;
76
while
((length
=
(inStream.read(buffer)))
!=
-
1
) {
77
outStream.write(buffer,
0
, length);
78
}
79
outStream.close();
80
return
outStream.toByteArray();
81
}
82
83
//
直接返回http得到的输入流
84
public
static
InputStream getStreamContent(String urlPath, String encoding)
85
throws
Exception {
86
InputStream inStream
=
null
;
87
URL url
=
new
URL(urlPath);
88
HttpURLConnection conn
=
(HttpURLConnection) url.openConnection();
89
conn.setRequestMethod(
"
GET
"
);
90
conn.setReadTimeout(
5
*
1000
);
91
if
(conn.getResponseCode()
==
RESPONSE_OK) {
92
inStream
=
conn.getInputStream();
93
}
94
return
inStream;
95
}
96
97
public
static
void
print(String tag, String msg) {
98
Log.d(tag, msg);
99
}
100
}
101
分享到:
相关推荐
Java Property Utils是Java开发中的一个实用工具库,主要用于处理和操作Java系统属性和配置文件。在给定的场景中,`java-property-utils-1.9.1.jar` 和 `java-property-utils-1.10.jar` 是这个库的两个不同版本,...
这个"java-http请求jar包"实际上就是Apache HttpClient的4.5.5版本,一个包含了所有必要组件的压缩文件。 Apache HttpClient库提供了对HTTP协议的全面支持,包括GET、POST、PUT等各种HTTP方法,以及Cookie管理、...
总结来说,这个压缩包提供了一个处理跨域请求的Filter实现,结合了对Java属性文件的读取工具,以便于在Tomcat服务器上配置和管理CORS策略。开发者可以利用这些工具轻松地控制跨域访问,提升Web应用的交互性。
总结来说,`HttpsUtils.java`是一个用于简化Java程序中HTTPS POST请求的工具类,它隐藏了复杂的SSL/TLS配置和HTTP连接管理,使得开发者可以更加专注于业务逻辑。在实际开发中,此类可以帮助提高代码的可读性和可维护...
"google-http-java-client-1.13.1-beta" 是Google官方发布的一个Java库,主要用于在Android平台上进行HTTP网络通信。这个库包含了丰富的工具类,能够帮助开发者方便地实现各种HTTP请求,从而满足Android应用中的网络...
java 发送https get请求工具类
总的来说,`java-property-utils-1.9.1.jar`是一个实用的工具,它简化了Java Web应用中处理跨域问题的过程。通过与Java属性文件的交互,开发者可以更灵活地控制CORS策略,使得不同源的客户端可以安全地访问服务器...
在Java进行HTTP请求时,通常会遇到数据传输出现乱码的问题,尤其是在使用JSON格式传输数据,且数据中包含中文字符时更为常见。在HTTP协议中,字符编码的正确处理对于数据的正确传输至关重要。以下将详细介绍在Java中...
Java 提供了多种模拟发送 Form-Data 的请求方式,下面将介绍其中的一种使用 Apache HttpComponents 库的方法。 首先,需要导入 Apache HttpComponents 库的相关依赖项,包括 `httpclient` 和 `httpmime`。 ```java...
请求网页: 爬虫使用HTTP或其他协议向目标URL发起请求,获取网页的HTML内容。这通常通过HTTP请求库实现,如Python中的Requests库。 解析内容: 爬虫对获取的HTML进行解析,提取有用的信息。常用的解析工具有正则...
2. **启动Java Bridge服务器**:通过Java命令行启动JavaBridge.jar,这会启动一个监听特定端口的HTTP服务器,等待PHP的请求。 3. **配置PHP**:在PHP中,你需要包含Java.inc文件,并设置一些配置参数,如Java服务器...
而`java-property-utils-1.9.jar` 提供了一些用于处理Java属性文件的工具类,这些工具在配置CORS过滤器时可能会用到,例如读取配置文件中的CORS策略。 在配置CORS过滤器时,首先需要将这两个库添加到项目的类路径中...
"google-http-java-client-1.13.1-beta.zip" 是一个包含Google HTTP Java客户端库的压缩包,这个库主要用于Java开发者与Google的HTTP API进行交互。它提供了简单且强大的方式来构建网络请求,处理响应,并集成到Java...
在这个场景中,"aliyun-java-sdk-core-4.1.0.jar" 是一个Java版本的核心SDK,主要用于与阿里大于的各项服务进行交互,特别是短信发送功能。 一、阿里大于SDK核心功能 1. **身份验证**:SDK提供了基于AccessKey的...
总之,一个良好的Java HTTP请求工具类应该易于使用,具有灵活性,能够处理各种HTTP请求类型,并能有效地处理网络异常和响应数据。通过理解这些基本概念和最佳实践,开发者可以构建出强大的网络通信模块。
其次,`java-property-utils-1.9.jar` 是一个用于处理Java属性文件的工具库。在Java应用程序中,属性文件通常用来存储配置信息,如数据库连接字符串、用户名和密码等。这个库提供了方便的方法来读取、写入和操作这些...
JavaMelody是一款强大的Java应用程序性能监控工具,它可以帮助开发者和运维人员实时监控应用的运行状态,包括请求量、响应时间、内存使用、数据库查询效率等关键指标。在本案例中,我们关注的是两个核心的JAR文件:`...
这里提到的`java-property-utils-1.9.jar`并不是直接解决跨域问题的库,但它可能在配置或辅助处理跨域问题的过程中起到一定作用,因为它是一个Java属性处理工具包。 `java-property-utils`这个库主要用来处理Java的...
WDSsoft的一款免费源代码 JCT 1.0,它是一个Java加密解密常用工具包。 Java局域网通信——飞鸽传书源代码 28个目标文件 内容索引:JAVA源码,媒体网络,飞鸽传书 Java局域网通信——飞鸽传书源代码,大家都知道VB...
JavaUser-Agent解析库是用于处理和解析HTTP请求头中的User-Agent字符串的工具,这对于Web开发、数据分析或爬虫程序来说非常关键。User-Agent字符串包含了访问网站的客户端信息,如浏览器类型、版本、操作系统等。在...