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,你呢?
*/
}
@Testpublic 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();
}
}
}@Testpublic
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/index.php/essay/21895.html