Java发送get请求

jar包和上一篇的一样。

测试接口:http://www.ip138.com:8080/search.asp(一个查询号码归属地的)

 

代码:

import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.net.URL;
import java.net.URLConnection;
import java.util.List;
import java.util.Map;

public class TestGet {
public static String httpGet(String url, String param) {
String result = "";
BufferedReader in = null;
try {
String urlNameString = url + "?" + param;
// 打开和URL之间的链接
URL realUrl = new URL(urlNameString);
URLConnection connection = realUrl.openConnection();
// 设置通用请求属性
connection.setRequestProperty("accept", "*/*");
connection.setRequestProperty("connection", "Keep-Alive");
connection
.setRequestProperty(
"user-agent",
"Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/47.0.2526.73 Safari/537.36");
// 建立实际的连接
connection.connect();
// 获取所有响应头字段
Map<String, List<String>> map = connection.getHeaderFields();
for (String key : map.keySet()) {
// 头字段-->值的方式打印
System.out.println(key + "--->" + map.get(key));
}
// 定义BufferedReader输入流来读取URL响应
in = new BufferedReader(new InputStreamReader(
connection.getInputStream()));
String line;
while ((line = in.readLine()) != null) {
result += line;
}
} catch (Exception e) {
System.out.println("发送get请求异常" + e);
e.printStackTrace();
}
// 使用finally块来关闭输入流
finally {
try {
if (in != null) {
in.close();
}
} catch (Exception e2) {
e2.printStackTrace();
}
}
return result;
}

//验证响应请求是否有预期的结果

public void matchesRequest(String requestDate, String matchesContent) {
if (requestDate.contains(matchesContent)) {
System.out.println("包含 " + matchesContent + " 字段" + ",结果正确!");
} else {
System.out.println("不包含 " + matchesContent + " 字段" + ",结果错误!");
}

}

public static void main(String[] args) throws Exception {
// TODO Auto-generated method stub
String s = TestGet.httpGet("http://www.ip138.com:8080/search.asp",
"mobile=15888888888&action=mobile");
System.out.println(s);
new TestGet().matchesRequest(s, "云南");
}

}

posted @ 2015-12-14 16:02  Free-program  阅读(235)  评论(0)    收藏  举报