java发送get请求和post请求示例

 更新时间:2014年03月17日 09:57:10   作者:  
这篇文章主要介绍了java发送get请求和post请求示例,需要的朋友可以参考下

java向服务端发送GET和POST请求

复制代码 代码如下:

package com.hongyuan.test;

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.PrintWriter;
import java.net.HttpURLConnection;
import java.net.URL;

public class HttpClient {
 //发送一个GET请求
 public static String get(String path) throws Exception{
  HttpURLConnection httpConn=null;
  BufferedReader in=null;
  try {
   URL url=new URL(path);
   httpConn=(HttpURLConnection)url.openConnection();

   //读取响应
   if(httpConn.getResponseCode()==HttpURLConnection.HTTP_OK){
    StringBuffer content=new StringBuffer();
    String tempStr="";
    in=new BufferedReader(new InputStreamReader(httpConn.getInputStream()));
    while((tempStr=in.readLine())!=null){
     content.append(tempStr);
    }
    return content.toString();
   }else{
    throw new Exception("请求出现了问题!");
   }
  } catch (IOException e) {
   e.printStackTrace();
  }finally{
   in.close();
   httpConn.disconnect();
  }
  return null;
 }
 //发送一个GET请求,参数形式key1=value1&key2=value2...
 public static String post(String path,String params) throws Exception{
  HttpURLConnection httpConn=null;
  BufferedReader in=null;
  PrintWriter out=null;
  try {
   URL url=new URL(path);
   httpConn=(HttpURLConnection)url.openConnection();
   httpConn.setRequestMethod("POST");
   httpConn.setDoInput(true);
   httpConn.setDoOutput(true);

   //发送post请求参数
   out=new PrintWriter(httpConn.getOutputStream());
   out.println(params);
   out.flush();

   //读取响应
   if(httpConn.getResponseCode()==HttpURLConnection.HTTP_OK){
    StringBuffer content=new StringBuffer();
    String tempStr="";
    in=new BufferedReader(new InputStreamReader(httpConn.getInputStream()));
    while((tempStr=in.readLine())!=null){
     content.append(tempStr);
    }
    return content.toString();
   }else{
    throw new Exception("请求出现了问题!");
   }
  } catch (IOException e) {
   e.printStackTrace();
  }finally{
   in.close();
   out.close();
   httpConn.disconnect();
  }
  return null;
 }

 public static void main(String[] args) throws Exception {
  //String resMessage=HttpClient.get("http://localhost:3000/hello?hello=hello get");
  String resMessage=HttpClient.post("http://localhost:3000/hello", "hello=hello post");
  System.out.println(resMessage);
 }

}

相关文章

  • SpringBoot 项目打成 jar后加载外部配置文件的操作方法

    SpringBoot 项目打成 jar后加载外部配置文件的操作方法

    这篇文章主要介绍了SpringBoot 项目打成 jar后加载外部配置文件的操作方法,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2023-03-03
  • 解决@Value注解不能注入static修饰的属性问题

    解决@Value注解不能注入static修饰的属性问题

    这篇文章主要介绍了解决@Value注解不能注入static修饰的属性问题,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-07-07
  • Java多线程下载的实现方法

    Java多线程下载的实现方法

    复习多线程的时候,练习了下,顺便记录一下:
    2013-03-03
  • Java集合系列之LinkedHashMap源码分析

    Java集合系列之LinkedHashMap源码分析

    这篇文章主要为大家详细介绍了Java集合系列之LinkedHashMap源码分析,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2018-02-02
  • 深入剖析Java ReentrantLock的源码

    深入剖析Java ReentrantLock的源码

    ReentrantLock和Synchronized都是Java开发中最常用的锁,与Synchronized这种JVM内置锁不同的是,ReentrantLock提供了更丰富的语义。本文就来深入剖析一下ReentrantLock源码,需要的可以参考一下
    2022-11-11
  • 利用Java对PDF文件进行电子签章的实战过程

    利用Java对PDF文件进行电子签章的实战过程

    随着电子账单、回单、通知、合同的流行,电子文档的可信度变得非常重要,为防止非法篡改,确保文档的权威性,我们可以对PDF进行电子签章,这篇文章主要给大家介绍了关于如何利用Java对PDF文件进行电子签章的相关资料,需要的朋友可以参考下
    2021-07-07
  • Java内存模型JMM与volatile

    Java内存模型JMM与volatile

    这篇文章主要介绍了Java内存模型JMM与volatile,Java内存模型是一种抽象的概念,并不真实存在,它描述的是一组规则或规范,定义了程序中各个变量的访问方式
    2022-07-07
  • SpringBoot项目导入外部jar包的详细指南

    SpringBoot项目导入外部jar包的详细指南

    在开发SpringBoot项目时,我们经常需要引入一些外部的jar包来增强项目的功能,这些jar包可能不是Maven中央仓库中的,或者我们想要使用特定版本的jar包,本文将详细介绍如何在SpringBoot项目中导入外部jar包,需要的朋友可以参考下
    2024-10-10
  • Java中MyBatis的结果映射详解

    Java中MyBatis的结果映射详解

    这篇文章主要介绍了Java中MyBatis的结果映射详解,MyBatis 支持对各种单表查询、关联查询等各种复杂查询的结果进行映射,MyBatis 是一款优秀的持久层框架,它的强大之处正是 SQL 语句映射,这一章介绍常用的结果映射,需要的朋友可以参考下
    2023-08-08
  • 详解Java I/O流中的字符流有哪些

    详解Java I/O流中的字符流有哪些

    字节流的功能已经十分强大,几乎可以直接或间接地处理任何类型的输入/输出操作,但它却不能直接操作16位的Unicode字符,这就需要使用字符流,所以在今天的内容中,小编会给大家讲解IO流中的字符流,希望各位能够继续耐心学习
    2023-10-10

最新评论