Http请求类

package wzh.Http;

import java.io.BufferedReader;

import java.io.IOException;

import java.io.InputStreamReader;

import java.io.PrintWriter;

import java.net.URL;

import java.net.URLConnection;

import java.util.List;

import java.util.Map;

public class HttpRequest {

/**

* 向指定URL发送GET方法的请求

*

* @param url

* 发送请求的URL

* @param param

* 请求参数,请求参数应该是 name1=value1&name2=value2 的形式。

* @return URL 所代表远程资源的响应结果

*/

public static String sendGet(String url, String param) {

String result = "";

BufferedReader in = null;

try {

String urlNameString = url + "?" + param;

URL realUrl = new URL(urlNameString);

// 打开和URL之间的连接

URLConnection connection = realUrl.openConnection();

// 设置通用的请求属性

connection.setRequestProperty("accept", "*/*");

connection.setRequestProperty("connection", "Keep-Alive");

connection.setRequestProperty("user-agent",

"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1;SV1)");

// 建立实际的连接

connection.connect();

// 获取所有响应头字段

Map> 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;

}

/**

* 向指定 URL 发送POST方法的请求

*

* @param url

* 发送请求的 URL

* @param param

* 请求参数,请求参数应该是 name1=value1&name2=value2 的形式。

* @return 所代表远程资源的响应结果

*/

public static String sendPost(String url, String param) {

PrintWriter out = null;

BufferedReader in = null;

String result = "";

try {

URL realUrl = new URL(url);

// 打开和URL之间的连接

URLConnection conn = realUrl.openConnection();

// 设置通用的请求属性

conn.setRequestProperty("accept", "*/*");

conn.setRequestProperty("connection", "Keep-Alive");

conn.setRequestProperty("user-agent",

"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1;SV1)");

// 发送POST请求必须设置如下两行

conn.setDoOutput(true);

conn.setDoInput(true);

// 获取URLConnection对象对应的输出流

out = new PrintWriter(conn.getOutputStream());

// 发送请求参数

out.print(param);

// flush输出流的缓冲

out.flush();

// 定义BufferedReader输入流来读取URL的响应

in = new BufferedReader(

new InputStreamReader(conn.getInputStream()));

String line;

while ((line = in.readLine()) != null) {

result += line;

}

} catch (Exception e) {

System.out.println("发送 POST 请求出现异常!"+e);

e.printStackTrace();

}

//使用finally块来关闭输出流、输入流

finally{

try{

if(out!=null){

out.close();

}

if(in!=null){

in.close();

}

}

catch(IOException ex){

ex.printStackTrace();

}

}

return result;

}

}

调用方法:

public static void main(String[] args) {

//发送 GET 请求

String s=HttpRequest.sendGet("http://localhost:6144/Home/RequestString", "key=123&v=456");

System.out.println(s);

//发送 POST 请求

String sr=HttpRequest.sendPost("http://localhost:6144/Home/RequestPostString", "key=123&v=456");

System.out.println(sr);

}

以上这篇java发送http的get、post请求实现代码就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持脚本之家。

http get post java_java发送http的get、post请求实现代码相关推荐

  1. 如何在客户端发送ajax请求,ajax - 从服务器(nodejs)发送数据到客户端(ajax请求)

    如何使用nodejs将数据从服务器发送到客户端? 所以基本上我通过点击一个按钮来调用这个函数 javascriptfunction createStuff(tid) { $.ajax({ type: ...

  2. Golang gin框架:发送GET POST PUT DELETE请求

    package mainimport ("net/http""github.com/gin-gonic/gin" )func main() {r := gin. ...

  3. SAP云平台开启Kyma功能时发送到后台的HTTP请求

    进入SAP云平台的subaccount,切换到Kyma environment面板下,点击Enable Kyma: 输入Kyma集群的名称和描述信息: 观察发送到后台的HTTP请求明细: {" ...

  4. python post请求实例_Python使用requests发送POST请求实例代码

    本文研究的主要是Python使用requests发送POST请求的相关内容,具体介绍如下. 一个http请求包括三个部分,为别为请求行,请求报头,消息主体,类似以下这样: 请求行 请求报头 消息主体 ...

  5. java实现语音发送,Java实现发送手机短信语音验证功能代码实例

    这篇文章主要介绍了java实现发送手机短信语音验证功能代码实例,www.cppcns.com文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 利用第三方 ...

  6. php发送http put/patch/delete请求

    今天学RESTful API的编写,发现不知道怎么发送HTTP PUT/PATCH/DELETE请求,还是要学习一个. 使用curl_opt函数来发送各式各样的http请求动作,不仅限于get和pos ...

  7. java 送参数_关于java:如何以编程方式发送带参数的HTTP请求?

    本问题已经有最佳答案,请猛点这里访问. 如果我使用浏览器向服务器发送信息(例如使用登录.密码页),我只需填写用户文本框和密码文本框,然后单击登录按钮. 我想发送此信息,但不必使用浏览器.我想" ...

  8. Postman发送带cookie的http请求

    1.Postman是chrome上一个非常好用的http客户端插件,可惜由于chrome安全的限制,发不出带cookie的请求.如果想要发送带cookie的请求,需要开启Interceptor: 2. ...

  9. 关于nodejs发送带参数的post请求调用人人网api

    其实对js基本都没什么了解就要去用nodejs尝试实在有些勉强,做些简单的笔记以后看起来或许有些帮助. 用-express   -e  xxx(应用名)创建基于ejs模版的应用. 按提示cd xxx并 ...

最新文章

  1. php 文件限速下载代码
  2. php 时间戳 时区,PHP时间函数 时间戳 设置时区
  3. win8如何卸载mysql5.0_Win8如何卸载Windows的服务?卸载Windows的服务的方法和步骤
  4. python中列表用某个数字出现的次数_Python实现统计给定列表中指定数字出现次数的方法...
  5. 自己写的DBUtil数据库连接工具类
  6. sklearn自学指南(part52)--潜在狄利克雷分配(LDA)
  7. textarea回车不换行 小程序_微信小程序商城到底值得不值得开通?
  8. 有规律的进行效果最好--打扫有感
  9. ”扶我起来,我还能学!“ 之ES2021 抢先尝
  10. 判断回文(0315)SWUST-OJ
  11. 中国银行业100强名单发布
  12. 树莓派蜂鸣器python代码_[原创]初玩树莓派B 5控制蜂鸣器演奏乐曲
  13. 计算机绘图 cad),CAD计算机绘图入门
  14. 浏览器 User-Agent 大全
  15. 2019年内大892数据结构部分参考答案
  16. 生物统计学(biostatistics)学习笔记(二)
  17. 大数据分析数据分析师培训学什么
  18. 【学习笔记】严格反馈和纯反馈系统
  19. 以“有用”为圆心:重新认识智慧城市的“高手之路”
  20. 黑客命令大全 (不断更新中)

热门文章

  1. jfinal html5,Jfinal框架整合webSocket技术功能实现
  2. nacos 整合Dubbo 多服务
  3. flowable 和 activty工作流 使用视图方案解决系统内部用户、组、用户和组关联
  4. Stream filter过滤案例
  5. Flowable 数据库表结构 ACT_HI_DETAIL
  6. 把字符串按照某几个字符切割成数组
  7. 查找单链表的中间节点,要求只能遍历一次链表(C语言)
  8. python教程程序_Python如何发布程序的详细教程
  9. android 动态添加颜色,Android绘制一个三角形并且可动态改变颜色
  10. c语言中文件是如何存储的,急求如何将下列C语言程序数据存储到文件中?