Java http get与post请求
来源:互联网 发布:java的集成开发环境 编辑:程序博客网 时间:2024/05/22 15:41
</pre><pre name="code" class="java">package com.hongyue.ai.utils; import java.io.BufferedReader; import java.io.InputStreamReader; import java.io.OutputStreamWriter; import java.io.PrintWriter; import java.net.HttpURLConnection; import java.net.URL; import java.net.URLConnection;
import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import org.apache.commons.lang.StringUtils;
/**
* HTTP通讯组件 *
* @author <a href="mailto:cairenxi@viewlinecn.com">蔡仁西</a> * @version 1.0 */
public class HttpUtils { /**
* 客户端用Post方法向服务器提交请求,并获取服务器响应信息 *
* @param request * @param response * @param s */
public static String reqForPost(String postURL, String context) {
try {
URL url = new URL(postURL);
URLConnection urlConn = url.openConnection();
HttpURLConnection httpUrlConn = (HttpURLConnection) urlConn;
// 设置是否向httpUrlConnection输出,因为这个是post请求,参数要放在 // http正文内,因此需要设为true, 默认情况下是false;
httpUrlConn.setDoOutput(true);
// 设置是否从httpUrlConnection读入,默认情况下是true
httpUrlConn.setDoInput(true);
// Post 请求不能使用缓存 httpUrlConn.setUseCaches(false); // 设定请求的方法为"POST",默认是GET httpUrlConn.setRequestMethod("POST");
OutputStreamWriter wr = new OutputStreamWriter(httpUrlConn.getOutputStream()); wr.write(context); wr.flush();
BufferedReader in = new BufferedReader(new InputStreamReader(httpUrlConn
.getInputStream()));
String line;
StringBuffer sb = new StringBuffer(); while ((line = in.readLine()) != null) { sb.append(line);
} wr.close(); in.close();
return StringUtils.trimToEmpty(sb.toString()); } catch (Exception e) { e.printStackTrace();
}
return "";
}
/**
* 客户端用Get方法向服务器提交请求,并获取服务器响应信息 *
* @param request * @param response * @param s */
public static String reqForGet(String getURL) {
try {
URL url = new URL(getURL);
URLConnection urlConn = url.openConnection();
HttpURLConnection httpUrlConn = (HttpURLConnection) urlConn;
// 默认情况下是false;
httpUrlConn.setDoOutput(false);
// 设置是否从httpUrlConnection读入,默认情况下是true
httpUrlConn.setDoInput(true);
// Get 请求不能使用缓存 httpUrlConn.setUseCaches(false); // 设定请求的方法为"GET",默认是GET httpUrlConn.setRequestMethod("GET");
BufferedReader in = new BufferedReader(new InputStreamReader(httpUrlConn
.getInputStream()));
String line;
StringBuffer sb = new StringBuffer(); while ((line = in.readLine()) != null) { sb.append(line);
}
in.close();
return StringUtils.trimToEmpty(sb.toString()); } catch (Exception e) { e.printStackTrace();
} return "";
} /**
* 从输入流中读入数据 *
* @param request * @param response * @param s */
public static String readBuffer(InputStreamReader in) { try { BufferedReader reader = new BufferedReader(in); String line = "";
StringBuffer sb = new StringBuffer(); while ((line = reader.readLine()) != null) { sb.append(line);
}
return StringUtils.trimToEmpty(sb.toString());
} catch (Exception e) { e.printStackTrace();
} return "";
} /** * 响应调用者 * * @param req * @param res * @param s */
public static void res2Client(HttpServletRequest req,
HttpServletResponse res, String s) { try { res.setContentType("text/plain;charset=gb2312"); PrintWriter out = res.getWriter(); out.print(s); out.flush();
out.close();
} catch (Exception e) {
e.printStackTrace();
}
}
/**
* 获取请求客户端IP(包括穿透nginx集群代理) */
public static String getRemoteAddr(HttpServletRequest req) { String ip = req.getHeader("x-forwarded-for");
if (ip == null || ip.length() == 0 || "unknown".equalsIgnoreCase(ip)) { ip = req.getHeader("Proxy-Client-IP");
}
if (ip == null || ip.length() == 0 || "unknown".equalsIgnoreCase(ip)) { ip = req.getHeader("WL-Proxy-Client-IP"); }
if (ip == null || ip.length() == 0 || "unknown".equalsIgnoreCase(ip)) { ip = req.getRemoteAddr();
} return ip;
}
public static void main(String[] args) {
String url =
"http://61.152.167.97/TaoBaoInterface/billQuery.do?billNo=010027078277&Key=VbmYfP6SeO6apmRAmgg67Q=="; String ret =HttpUtils.reqForGet(url); System.out.println(ret);
}
}
0 0
- Http POST与GET请求JAVA实现
- Java http get与post请求
- Java http get与post请求
- Java发送http请求 (get 与 post方法请求)转贴
- Java发送http请求 (get 与 post方法请求)
- Java发送http请求 (get 与 post方法请求)
- Java发送http请求 (get 与 post方法请求)
- Java发送http请求 (get 与 post方法请求)
- Java发送http请求 (get 与 post方法请求)
- HTTP中的GET请求与POST请求
- HTTP中的get请求与post请求
- JAVA 发送Http请求,GET、POST请求
- HTTP请求:GET与POST的区别
- http get与post请求区别
- http请求post与get区别
- HTTP请求GET与POST的区别
- HTTP请求&响应、POST与GET
- HTTP请求与响应-get和post
- C#多线程编程
- 模态弹出框里的内容可以复制,不可以编辑的方法
- iptables 的防火墙正常运行时间和安全性 使用此高效应用程序设置并维护 Linux 防火墙
- DWZ横向导航实现动态左菜单树(基于zTree插件)
- CWT大逃亡 escape题解
- Java http get与post请求
- MySQL 5.6 for Windows 解压缩版配置安装
- NSTimer与NSRunLoop的关系分析
- iOS7 UITextViewDidChange - crashes
- oracle恢复删除的数据
- Samsung手机ClipboardUIManager引起的内存泄漏
- ubuntu 14.04 更新源
- lua中读取时间
- stm32 中DMA的stream和channel关系