Rhythmk 一步一步学 JAVA (22) JAVA 网络编程
2020-11-18 18:20
标签:com http class blog style div code java string log color 1、获取主机信息 2、URLEncode 跟 URLDecoder 3、POST GET 请求 注意: 如果先 urlConnect.connect(); 然后如下设置 urlConnect.setDoOutput(true); 导致异常: java.lang.IllegalStateException: Already
connected at java.net.URLConnection.setDoOutput(URLConnection.java:849) Rhythmk 一步一步学 JAVA (22) JAVA 网络编程,搜素材,soscw.com Rhythmk 一步一步学 JAVA (22) JAVA 网络编程 标签:com http class blog style div code java string log color 原文地址:http://www.cnblogs.com/rhythmK/p/3698223.html
@Test
public
void
GetDomainInfo()
throws
UnknownHostException {
String domain =
"www.baidu.com"
;
InetAddress netAddress = InetAddress.getByName(domain);
// 获取主机名
System.out.println(netAddress.getHostName());
// IP地址
System.out.println(netAddress.getCanonicalHostName());
InetAddress ip2domain = InetAddress.getByAddress(
new
byte
[] {
(
byte
)
115
, (
byte
)
239
, (
byte
)
210
, (
byte
)
26
});
System.out.println(ip2domain.getCanonicalHostName());
System.out.println(ip2domain.getHostName());
/*
* 输出: www.baidu.com 115.239.210.26 115.239.210.26 115.239.210.26
*/
}
// URLDecoder和URLEncoder
@SuppressWarnings
(
"deprecation"
)
@Test
public
void
URLEncode() {
String result = URLEncoder.encode(
"我是Rhythmk,你呢?"
);
System.out.println(result);
// 输出:
// %E6%88%91%E6%98%AFRhythmk%2C%E4%BD%A0%E5%91%A2%EF%BC%9F
}
@Test
public
void
URLDecoder() {
String result = java.net.URLDecoder
.decode(
"%E6%88%91%E6%98%AFRhythmk%2C%E4%BD%A0%E5%91%A2%EF%BC%9F"
);
System.out.println(result);
/*
* 输出: 我是Rhythmk,你呢?
*/
}
@Test
public
void
Get()
throws
IOException {
URLConnection urlConnect;
URL url =
new
URL(
"http://www.baidu.com"
);
urlConnect = url.openConnection();
BufferedReader biStream =
null
;
try
{
urlConnect.connect();
Map
for
(String key : map.keySet()) {
List
for
(String k : listKey) {
System.out.println(
"*****************"
+ k);
}
}
biStream =
new
BufferedReader(
new
InputStreamReader(
urlConnect.getInputStream()));
String html =
""
;
String line =
null
;
while
((line = biStream.readLine()) !=
null
) {
html += line;
}
System.out
.println(
"************************* HTML 内容 ***********************"
);
System.out.println(html);
}
catch
(Exception e) {
e.printStackTrace();
}
finally
{
if
(biStream !=
null
) {
biStream.close();
}
}
}
@Test
public
void
Post()
throws
IOException {
BufferedReader biStream =
null
;
try
{
URL url =
new
URL(
"http://passport.rhythmk.com/signin"
);
URLConnection urlConnect = url.openConnection();
// 设置通用的请求属性
urlConnect.setRequestProperty(
"accept"
,
"*/*"
);
urlConnect.setRequestProperty(
"connection"
,
"Keep-Alive"
);
urlConnect.setRequestProperty(
"user-agent"
,
"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1;SV1)"
);
// 发送POST请求必须设置如下两行 ,需要在connect 之前设定好
urlConnect.setDoOutput(
true
);
urlConnect.setDoInput(
true
);
urlConnect.connect();
// 获取URLConnection对象对应的输出流
PrintWriter out =
new
PrintWriter(urlConnect.getOutputStream());
// 发送请求参数
out.print(
"returnUrl=http%3A%2F%2Fwww.ciwong.com%2F&username=a&password=d"
);
// flush输出流的缓冲
out.flush();
biStream =
new
BufferedReader(
new
InputStreamReader(
urlConnect.getInputStream()));
String html =
""
;
String line =
null
;
while
((line = biStream.readLine()) !=
null
) {
html += line;
}
System.out
.println(
"************************POST* HTML 内容 ***********************"
);
System.out.println(html);
}
catch
(Exception e) {
e.printStackTrace();
}
finally
{
if
(biStream !=
null
) {
biStream.close();
}
}
}
urlConnect.setDoInput(true);
at
com.rhythmk.filedemo.net_demo1.Post(net_demo1.java:126) ....
文章标题:Rhythmk 一步一步学 JAVA (22) JAVA 网络编程
文章链接:http://soscw.com/essay/21895.html