java网络编程中向指定URL发送GETPOST请求示例
2023-06-13 09:15:12 时间
importjava.io.BufferedReader;
importjava.io.IOException;
importjava.io.InputStreamReader;
importjava.io.OutputStream;
importjava.io.PrintWriter;
importjava.net.HttpURLConnection;
importjava.net.URL;
importjava.net.URLConnection;
importjava.util.List;
importjava.util.Map;
publicclassHttpRequest{
/**
*向指定URL发送GET方法的请求
*
*@paramurl
* 发送请求的URL
*@paramparam
* 请求参数,请求参数应该是name1=value1&name2=value2的形式。
*@returnURL所代表远程资源的响应结果
*/
publicstaticStringsendGet(Stringurl,Stringparam){
Stringresult="";
BufferedReaderin=null;
try{
StringurlNameString=url+"?"+param;
URLrealUrl=newURL(urlNameString);
//打开和URL之间的连接
URLConnectionconnection=realUrl.openConnection();
//设置通用的请求属性
connection.setRequestProperty("accept","*/*");
connection.setRequestProperty("connection","Keep-Alive");
connection.setRequestProperty("user-agent",
"Mozilla/4.0(compatible;MSIE6.0;WindowsNT5.1;SV1)");
//建立实际的连接
connection.connect();
//获取所有响应头字段
/*
*Map<String,List<String>>map=connection.getHeaderFields();//
*遍历所有的响应头字段for(Stringkey:map.keySet()){
*System.out.println(key+"--->"+map.get(key));}
*/
//定义BufferedReader输入流来读取URL的响应
in=newBufferedReader(newInputStreamReader(
connection.getInputStream()));
Stringline;
while((line=in.readLine())!=null){
result+=line;
}
}catch(Exceptione){
System.out.println("发送GET请求出现异常!"+e);
e.printStackTrace();
}
//使用finally块来关闭输入流
finally{
try{
if(in!=null){
in.close();
}
}catch(Exceptione2){
e2.printStackTrace();
}
}
returnresult;
}
/**
*向指定URL发送POST方法的请求
*
*@paramurl
* 发送请求的URL
*@paramparam
* 请求参数,请求参数应该是name1=value1&name2=value2的形式。
*@return所代表远程资源的响应结果
*/
publicstaticStringsendPost(Stringurl,Stringparam){
PrintWriterout=null;
BufferedReaderin=null;
Stringresult="";
try{
URLrealUrl=newURL(url);
//打开和URL之间的连接
URLConnectionconn=realUrl.openConnection();
//设置通用的请求属性
conn.setRequestProperty("accept","*/*");
conn.setRequestProperty("connection","Keep-Alive");
conn.setRequestProperty("user-agent",
"Mozilla/4.0(compatible;MSIE6.0;WindowsNT5.1;SV1)");
//发送POST请求必须设置如下两行
conn.setDoOutput(true);
conn.setDoInput(true);
//获取URLConnection对象对应的输出流
out=newPrintWriter(conn.getOutputStream());
//发送请求参数
out.print(param);
//flush输出流的缓冲
out.flush();
//定义BufferedReader输入流来读取URL的响应
in=newBufferedReader(
newInputStreamReader(conn.getInputStream()));
Stringline;
while((line=in.readLine())!=null){
result+=line;
}
}catch(Exceptione){
System.out.println("发送POST请求出现异常!"+e);
e.printStackTrace();
}
//使用finally块来关闭输出流、输入流
finally{
try{
if(out!=null){
out.close();
}
if(in!=null){
in.close();
}
}catch(IOExceptionex){
ex.printStackTrace();
}
}
returnresult;
}
}
相关文章
- java分布式事务框架_Java分布式事务,及解决方案
- java用什么软件_Java编程什么软件最好用?
- java反射菜鸟教程_Java反射
- Java进阶:java开源商城系统源码
- Java 零拷贝_java高性能编程
- Java栈结构_栈java
- Java 零拷贝_java clone 深拷贝
- Java map转实体类_java实体类转json
- 【Android 应用开发】Android 网络编程 API笔记 - java.net 包 权限 地址 套接字 相关类 简介
- 【Java 网络编程】Socket TCP UDP 联系
- 【Java 网络编程】TCP 服务器端 客户端 简单示例
- 【Java 网络编程】UDP API 简介 ( DatagramSocket | DatagramPacket )
- 【Java 网络编程】UDP 广播 ( IP 地址分类 | 广播 | 广播地址运算 )
- 【Java 网络编程】TCP 连接 断开 机制 ( 三次握手 | 四次挥手 )
- 【Java 网络编程】客户端 Socket 创建
- 【Java 网络编程】NIO Buffer 简介 ( 概念 | 数据传输 | 标记 | 位置 | 限制 | 容量 | 标记 | 重置 | 清除 | 翻转 | 重绕 | 链式操作 )
- 【错误记录】Java AWT 图形界面编程报错 ( Exception in thread “main“ java.awt.AWTError: BoxLayout can‘t be shared )
- java并发编程(2):Java多线程-java.util.concurrent高级工具
- Java基础学习笔记二十二 网络编程详解编程语言
- Java与MySQL的实现协同(java和mysql)
- java网络编程之图片上传详解编程语言
- Java网络编程基础知识
- Linux调用Java实现编程快速开发(linux调用java)
- Linux安装Java环境必备指南(linux装java)
- 国内首本系统讲解Java异步编程的书籍-java异步编程实战
- Java文件在Linux系统中的使用(java文件linux)
- Linux与Java调用C编程实战(linux java调c)
- 基于Linux操作系统上实现 Java 编程(linux r java)
- Java实现Linux:跨平台解决方案(java 实现linux)
- Java编程在Linux上的应用(java编程 linux)
- Linux与Java结合:开启全新的编程之旅(linux java())
- Java程序调用Linux系统命令实现更多功能(java调用linux命令)
- Java编程从Oracle中读取数据(java读取oracle)
- Java编程操作Oracle数据库(java读oracle)
- 编程玩转Java之Oracle编程实战(java中的oracle)
- Java进阶学习:网络服务器编程