远程Get,Post请求工具类

摘要:
importjava.net.URLConnection;“+param;//打开URL和URLConnectionconnection=realUrl.openConnection();map=connection.getHeaderFields()之间的连接;请求参数应为name1=value1&BufferedReader=null;

1.远程请求工具类

 
import java.io.*;
import java.net.URL;
import java.net.URLConnection;
import java.util.List;
import java.util.Map;
public class ExoticHttpRequest {
/**
* 向指定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");//设置为长连接,close为短连接
    connection.setRequestProperty("user-agent", "hiibook/v1.1.1");//自己定义参数值
    // 建立实际的连接
    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;
}
 
/**
* 向指定 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");//设置为长连接,close为短连接
    conn.setRequestProperty("user-agent", "hiibook/v1.1.1");//自己定义参数值
    // 发送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 请求出现异常!");
  }
  //使用finally块来关闭输出流、输入流
  finally {
    try {
      if (out != null) {
        out.close();
      }
      if (in != null) {
        in.close();
      }
    } catch (IOException ex) {
      ex.printStackTrace();
    }
  }
  return result;
 }
}
 

2.使用:

 
String s = ExoticHttpRequest.sendGet("http://localhost:8080/enterpriseInfo/getPageConfigMx", "listUid=" + listUid);
 
 

免责声明:文章转载自《远程Get,Post请求工具类》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇解决mysql 数据库连接密码linux系统redhat7.9 安装R(编译安装)下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

【nodeJS爬虫】前端爬虫系列 -- 小爬「博客园」

写这篇 blog 其实一开始我是拒绝的,因为爬虫爬的就是cnblog博客园。搞不好编辑看到了就把我的账号给封了:)。 言归正传,前端同学可能向来对爬虫不是很感冒,觉得爬虫需要用偏后端的语言,诸如 php , python 等。当然这是在 nodejs 前了,nodejs 的出现,使得 Javascript 也可以用来写爬虫了。由于 nodejs 强大的异步...

HTTP服务&amp;amp;AJAX编程

即 Asynchronous Javascript And XML,AJAX 不是一门的新的语言,而是对现有持术的综合利用。 本质是在HTTP协议的基础上以异步的方式与服务器进行通信。 传统方式我们是以表单形式与服务器通信的。 1.1   异步 指某段程序执行时不会阻塞其它程序执行,其表现形式为程序的执行顺序不依赖程序本身的书写顺序,相反则为同步。 其优势...

html状态码

100——客户必须继续发出请求101——客户要求服务器根据请求转换HTTP协议版本   200——交易成功201——提示知道新文件的URL202——接受和处理、但处理未完成203——返回信息不确定或不完整204——请求收到,但返回信息为空205——服务器完成了请求,用户代理必须复位当前已经浏览过的文件206——服务器已经完成了部分用户的GET请求 300—...

WEB、FTP服务器所有响应码解释(超详细)

  WEBSERVER响应码:404错误提示---找不到文件或者目录不存在 403错误提示--找不到默认首页 505错误提示--服务器内部错误 1xx-信息提示 这些状态代码表示临时的响应。客户端在收到常规响应之前,应准备接收一个或多个1xx响应。 100-继续。 101-切换协议。 2xx-成功 这类状态代码表明服务器成功地接受了客户端请求。 2...

OGNL表达式入门

package com.scorpion.ognl; import java.util.ArrayList; import java.util.List; import ognl.Ognl; import ognl.OgnlContext; import ognl.OgnlException; public class OgnlTest {...

网络爬虫基本原理

 网络爬虫是捜索引擎抓取系统的重要组成部分。爬虫的主要目的是将互联网上的网页下载到本地形成一个或联网内容的镜像备份。这篇博客主要对爬虫以及抓取系统进行一个简单的概述。 一、网络爬虫的基本结构及工作流程     一个通用的网络爬虫的框架如图所示:  网络爬虫的基本工作流程如下:     1.首先选取一部分精心挑选的种子URL;     2.将这些URL放入...