首页 技术 正文
技术 2022年11月16日
0 收藏 388 点赞 4,139 浏览 1774 个字

本文用的是java.net里面的方法,HttpClient也可以。

java.net.HttpURLConnection

java.net.URL

1. GET

public static String get(String strUrl, String cookie) throws MalformedURLException,IOException {
StringBuilder sbR = new StringBuilder(); URL url = new URL(strUrl);
//专为http特性做的URLconnection
HttpURLConnection connection = (HttpURLConnection)url.openConnection(); //给服务器发送cookie
connection.setRequestProperty("cookie", cookie); BufferedReader br = new BufferedReader(new InputStreamReader(connection.getInputStream())); String line = "";
boolean first = true;
do {
if( first == false)
sbR.append(line + "\n");
first = false;
line = br.readLine();
}while (!line.isEmpty());
return sbR.toString();
}

2.POST

    public static String post(String strUrl, Map<String, String> header, String data) throws IOException {        StringBuilder sbR = new StringBuilder();
String cookie = null;
URL url = new URL(strUrl); HttpURLConnection connection = (HttpURLConnection) url.openConnection();
connection.setDoInput(true); //写POST就得写着这两个
connection.setDoOutput(true);
connection.setRequestMethod("POST"); //网页默认提交方式为“GET”
connection.setUseCaches(false); if (header != null) {
@SuppressWarnings("rawtypes")
Iterator itr = header.entrySet().iterator();
while (itr.hasNext()) {
@SuppressWarnings("unchecked")
Map.Entry<String, String> entry= (java.util.Map.Entry<String, String>) itr.next();
connection.setRequestProperty(entry.getKey(), entry.getValue());
if(entry.getKey().equals("Cookie")){
cookie = entry.getValue();
}
}
} OutputStream os = connection.getOutputStream();
os.write(data.getBytes());
os.flush();
os.close(); //取cookie
//html是作为connection的输入流进来的
BufferedReader br = new BufferedReader(new InputStreamReader(connection.getInputStream()));
HttpRequest.responseCookie = connection.getRequestProperty("Set-Cookie");
//取返回的页面
String line = "";
do{
sbR.append(line + "\n");
line = br.readLine();
}while (line != null);
return sbR.toString() + connection.getHeaderField("Server"); }
相关推荐
python开发_常用的python模块及安装方法
adodb:我们领导推荐的数据库连接组件bsddb3:BerkeleyDB的连接组件Cheetah-1.0:我比较喜欢这个版本的cheeta…
日期:2022-11-24 点赞:878 阅读:8,985
Educational Codeforces Round 11 C. Hard Process 二分
C. Hard Process题目连接:http://www.codeforces.com/contest/660/problem/CDes…
日期:2022-11-24 点赞:807 阅读:5,501
下载Ubuntn 17.04 内核源代码
zengkefu@server1:/usr/src$ uname -aLinux server1 4.10.0-19-generic #21…
日期:2022-11-24 点赞:569 阅读:6,345
可用Active Desktop Calendar V7.86 注册码序列号
可用Active Desktop Calendar V7.86 注册码序列号Name: www.greendown.cn Code: &nb…
日期:2022-11-24 点赞:733 阅读:6,128
Android调用系统相机、自定义相机、处理大图片
Android调用系统相机和自定义相机实例本博文主要是介绍了android上使用相机进行拍照并显示的两种方式,并且由于涉及到要把拍到的照片显…
日期:2022-11-24 点赞:512 阅读:7,763
Struts的使用
一、Struts2的获取  Struts的官方网站为:http://struts.apache.org/  下载完Struts2的jar包,…
日期:2022-11-24 点赞:671 阅读:4,840