当前位置: 首页 > news >正文

JAVA 通过get,post访问远程接口

get请求 参数拼接在url ?name=value&sex=value

// httpurl=http:127.0.0.1/project
public static String doGet(String httpurl){HttpURLConnection connection = nul;Inputstream is = null;BufferedReader br = null;String result = null;//返回结果字符串try {//创建远程ur连接对象URL url = new URL(httpurl);//通过远程url连接对象打开 个连接,强转成httpURLConnection类connection = (HttpURLConnection)url.openConnection();//设置连接力式:getconnection.setRequestMethod("GET");//设置连接主机服务器的超时时间:15000毫秒connection.setConnectTimeout(15000);//设置读取远程返回的数据时间:60000connection.setReadTimeout(60000);//发送请求connection.connect()://通过connection连接,获取输入流if (connection.getResponseCode()==200){is =connection.getInputStream();//封装输入流is,并指定字符集br= new BufferedReader(new inputStreamReader(is,"UTF-8"));//存放数据StringBuffer sbf = new StringBuffer();String temp = null;while ((temp = br.readline())!= null){sbf.append(temp);sbf.append("\r\n");}result = sbf.toString();}}catch (MalformedURLException e){e.printstackTrace():}catch (IOException e){e.printStackTrace();}finally {//关闭资源if (null != br){try{br.close();}catch(IOException e){e.printStackTrace();}}if(null !=is){try {is.close();}catch(IOException e){e.printStackTrace();}}connection.disconnect()://关闭远程连接}return result,}

post请求 参数json传输,

	//jSONObject aa=new jSONObject();//aa.put("","");//...//param=aa.toString();// httpurl=http:127.0.0.1/project
public static String dopost(string httpUrl ,String param, String token){HttpURLConnection connection=null;InputStream is = null;Outputstream os = null;BufferedReader br-=null ;String result = null,try{URL url = new URL(httpUrl)://通过远程url连接对象打开连接connection = (HttpURLConnection) url.openConnection();//设置连接请求方式connection.setRequestMethod("POST")://设置连接主机服务器超时时间:15000毫秒connection.setConnectTimeout(15000);//设置读取主机服务器返回数据超时时间:60000毫秒connection.setReadTimeout(60000);//默认值为:false,当向远程服务器传送数据/写数据时,需要设置trueconnection.setDoOutput(true);//默认值为:true,当前向远程服务读取数据时,设置为true,该参教可有可无connection.setDoInput(true);// 设置传入参教的格式请求参数应该是json 的形式。connection.setRequestPraperty("Content-Type","application/json);connecion setRequestPraperty("Charsert"."UTF-8");// 设置Token(票眠)信息:Aothorizationif(token != null){connection.setRequestProperty( "Authorization", token);}//通过连接对象获取一个输出流os = connection.getOutputStream();os.write(param.getBytes("UTF-8"));if(connection.getResponseCode() == 200){is = connection.getInputstream();StringBuffer sbf = new StringBuffer();String temp = null;//备环遍历一行一行读取数据while ((temp =br.readline())!= null){sbf.append(temp);sbf.append("\r\n");}result =sbf.toString();} else {System.out.println("连接失败");}}catch (MalformedURLException e){e.printStackTrace():}catch (IOException e){e.printStackTrace();}finally (//关闭资源if (null != br){try{br.close();}catch (IOException e){e.printStackTrace();}}if (null != os){try{os.close():}catch (IOException e){e.printStackTrace();}}if (null != is){try{is.close():}catch (IOException e){e.printStackTrace();}}connecion.disconnect();}return result;}

post 参数json传输,

	//jSONObject aa=new jSONObject(); //aa.put("","");//...//param=aa.toString();// httpurl=http:127.0.0.1/projectpublic static String doGet(String httpurl, String param){String username="123456";String password="123456;String auth=username +":"+password;String encodeAuth=new BASE64Encoder().encode(auth.getBytes());String authHeader="Basic "+encodeAuth;Outputstream os = null;HttpURLConnection connection = nullInputStream is = null;BufferedReader br= nul);String result= null;// 返回结果字符串try{//创建远程url连接对象URL url = new URL(httpurl);//通过远程url连接对象打开一个连接,强转成HttpURLConnectión类connection =(HttpURLConnectión) url.openConnection();//设置连接方式:getconnection.setRequestMethod("GET");//发送http请求时添加Authorization标头connection.setRequestProperty("Authorization",authHeader);//设置连接主机服务器超时时间:15000毫秒connection.setConnectTimeout(15000);//设置读取主机服务器返回数据超时时间:60000毫秒connection.setReadTimeout(60000);//默认值为:false,当向远程服务器传送数据/写数据时,需要设置trueconnection.setDoOutput(true);//默认值为:true,当前向远程服务读取数据时,设置为true,该参教可有可无connection.setDoInput(true);// 设置传入参教的格式请求参数应该是json 的形式。connection setRequestPraperty("Content-Type","application/json);connecion setRequestPraperty("Charsert"."UTF-8");// 通过连接对象获取一个输出流os = connection.getOutputStream();//通过输出流对象将参数写出去/传输出去,它是通过字节数组写出的os.write(param.getBytes("utf-8"));connection.connect();//通过connection连接,获取输入流if (connection.getResponseCode() == 200){is = connection.getInputStream();//封装输入流is,并指定字符集br = new BufferedReader(new inputStreamReader(is, "UTF-8");//存放数据StringBuffer sbf = new StringBuffer();String temp = null;while ((temp = br.readLine()) != nul){	sbf.append(temp):sbf.append("\r\n");}result= sbf.tostring();}}catch (MalformedURLException e){e.printStackTrace();}catch (IOException e){e.printstackTrace();}finally (//关闭资源if (null != br){try{br.close();}I catch (IOException e){e.printStackTrace();}}if (null != os){try{os.close():}catch (IOException e){e.printStackTrace();}}if (null != is){try{is.close():}catch (IOException e){e.printStackTrace();}}connecion.disconnect();}return result;}

相关文章:

JAVA 通过get,post访问远程接口

get请求 参数拼接在url ?namevalue&sexvalue // httpurlhttp:127.0.0.1/project public static String doGet(String httpurl){HttpURLConnection connection nul;Inputstream is null;BufferedReader br null;String result null;//返回结果字…...

Spark例子

Spark例子 以下是一个简单的AI Spark例子: 假设我们有一个数据集,包含房屋大小、卧室数量和售价。我们想使用Spark来预测房屋售价。 首先,我们需要导入所需的库和数据。在这个例子中,我们将使用Pyspark。 python from pyspark…...

linux下ls和df卡死

1. strace看下卡在哪里 https://lokie.wang/article/43 strace ls strace df -h 2. 原因 https://segmentfault.com/a/1190000040620740 3. fuser 和 umount都不行,最后只能重启 重启机器还起不来了垃圾...

iOS(swiftui)——系统悬浮窗( 可在其他应用上显示,可实时更新内容)

因为ios系统对权限的限制是比较严格的,ios系统本身是不支持全局悬浮窗(可在其他app上显示)。在iphone14及之后的iPhone机型中提供了一个叫 灵动岛的功能,可以在手机上方可以添加一个悬浮窗显示内容并实时更新,但这个功能有很多局限性 如:需要iPhone14及之后的机型且系统…...

css弹窗动画效果,示例弹窗从底部弹出

从底部弹出来,有过渡动画效果 用max-height可以自适应内容的高度,当内容会超过最大高度时可以在弹窗里加个scroll-view 弹窗不能用v-if来隐藏,不然transition没效果,transition只能对已有dom元素起效果,所以用透明和v…...

STM32CubeIDE(CUBE-MX hal库)----RTC时钟,时钟实时显示

系列文章目录 STM32CubeIDE(CUBE-MX hal库)----初尝点亮小灯 STM32CubeIDE(CUBE-MX hal库)----按键控制 STM32CubeIDE(CUBE-MX hal库)----串口通信 STM32CubeIDE(CUBE-MX hal库)----定时器 STM32CubeIDE(CUBE-MX hal库)----蓝牙模块HC-05(详细配置) 前言…...

ubuntu 安装Nvidia驱动

官网下载 sudo bash NVIDIA。。。。。跟着b站机器人工匠阿杰即可。...

『亚马逊云科技产品测评』活动征文|基于亚马逊云EC2搭建PG开源数据库

授权声明:本篇文章授权活动官方亚马逊云科技文章转发、改写权,包括不限于在 Developer Centre, 知乎,自媒体平台,第三方开发者媒体等亚马逊云科技官方渠道 亚马逊EC2云服务器(Elastic Compute Cloud)是亚马…...

【开题报告】基于J2EE的高校水电费管理系统的设计与实现

1.选题背景 随着高校规模的扩大和信息化建设的深入,学生宿舍的水电费管理成为一项复杂而重要的任务。传统的水电费管理方式通常依赖于人工操作,存在着管理效率低下、数据处理繁琐、费用统计不准确等问题。因此,设计和实现一款基于J2EE的高校…...

Revisiting Proposal-based Object Detection阅读笔记

Revisiting Proposal-based Object Detection阅读笔记 论文地址:link Abstract For any object detector, the obtained box proposals or queries need to be classified and regressed towards ground truth boxes. 对于任何物体检测器来说,获得的…...

Docker部署NFS服务

创建基础镜像 mkdir /data/nfs -p chmod 755 /data/nfs# NFS默认端口: 111、2049、20048 docker run -d \ --privileged \ --name nfs_server \ -p 111:111/tcp \ -p 111:111/udp \ -p 2049:2049/tcp \ -p 2049:2049/udp \ -p 30001-30005:30001-30005/tcp \ -p 30001-30005:3…...

深度学习TensorFlow2基础知识学习后半部分

介绍几个重要操作: 1.范数 a tf.fill([1,2], value2.) b tf.norm(a)# 二范数#第二种计算方法 # 计算验证 a tf.square(a) log("a的平方:", a) a tf.reduce_sum(a) log("a平方后的和:", a) b tf.sqrt(a) log("a平方和后开根号:"…...

电脑系统重装Win10专业版操作教程

用户想给自己的电脑重新安装上Win10专业版系统,但不知道具体的重装步骤。接下来小编将详细介绍Win10系统重新安装的步骤方法,帮助更多的用户完成Win10专业版的重装,重装后用户即可体验到Win10专业版系统带来的丰富功能。 准备工作 1. 一台正常…...

打包Python项目

打包Python项目 本教程将指导您如何打包一个简单的Python项目。它将 向您展示如何添加必要的文件和结构来创建包,如何 构建包,以及如何将其上传到Python包索引(PyPI)。 尖端 如果您在运行本教程中的命令时遇到问题,请…...

使用Python实现爬虫IP负载均衡和高可用集群

做大型爬虫项目经常遇到请求频率过高的问题,这里需要说的是使用爬虫IP可以提高抓取效率,那么我们通过什么方法才能实现爬虫IP负载均衡和高可用集群,并且能快速的部署并且完成爬虫项目。 通常在Python中实现爬虫ip负载均衡和高可用集群需要一…...

Jenkins+Maven+Gitlab+Tomcat 自动化构建打包,部署

环境准备 1、安装服务 Jenkins工具、环境、插件配置 全局变量配置 Manage Jenkins>tools>JDK 安装 安装插件 Deploy to container 安装此插件,才能将打好的包部署到tomcat上 配置国内mvn源 创建maven项目 1 2 3 4 5 6 7 8 9 10...

泰凌微(Telink)8258配置串口收发自定义数据

在官网下载SDK后(以Mesh SDK为例)使用Eclipse打开,对应MCU的配置文件在app_config_8258.h,默认的HCI接口是HCI_USE_NONE,如果改成HCI_USE_UART后可以通过串口收发数据,此时默认接收函数处理的是以Telink的协…...

入门低代码开发:快速构建应用程序的方法

一、什么是低代码 低代码开发是一种通过可视化建模和拖拽式设计工具来快速构建应用程序的方法。传统软件开发通常需要编写大量的代码,而低代码开发则提供了更高层次的抽象,使开发过程更加简单和高效。通过可视化界面,用户可以通过拖拽组件、配…...

常见客户端消息推送服务【Java后端】

客户端消息推送 1、推送服务 苹果 APNs(Apple Push Notification service) 谷歌 FCM(Firebase Cloud Messaging)GCM(Google Cloud Messaging) 第三方 个推(Getui)UniApp&#xff…...

C++11(下)

可变参数模板 C11的新特性可变参数模板能够创建可以接受可变参数的函数模板和类模板. 相比C98/03, 类模版和函数模版中只能含固定数量的模版参数, 可变模版参数无疑是一个巨大的改进, 然而由于可变模版参数比较抽象, 使用起来需要一定的技巧, 所以这块还是比较晦涩的.掌握一些基…...

Debian系统简介

目录 Debian系统介绍 Debian版本介绍 Debian软件源介绍 软件包管理工具dpkg dpkg核心指令详解 安装软件包 卸载软件包 查询软件包状态 验证软件包完整性 手动处理依赖关系 dpkg vs apt Debian系统介绍 Debian 和 Ubuntu 都是基于 Debian内核 的 Linux 发行版&#xff…...

大数据零基础学习day1之环境准备和大数据初步理解

学习大数据会使用到多台Linux服务器。 一、环境准备 1、VMware 基于VMware构建Linux虚拟机 是大数据从业者或者IT从业者的必备技能之一也是成本低廉的方案 所以VMware虚拟机方案是必须要学习的。 (1)设置网关 打开VMware虚拟机,点击编辑…...

React19源码系列之 事件插件系统

事件类别 事件类型 定义 文档 Event Event 接口表示在 EventTarget 上出现的事件。 Event - Web API | MDN UIEvent UIEvent 接口表示简单的用户界面事件。 UIEvent - Web API | MDN KeyboardEvent KeyboardEvent 对象描述了用户与键盘的交互。 KeyboardEvent - Web…...

中医有效性探讨

文章目录 西医是如何发展到以生物化学为药理基础的现代医学?传统医学奠基期(远古 - 17 世纪)近代医学转型期(17 世纪 - 19 世纪末)​现代医学成熟期(20世纪至今) 中医的源远流长和一脉相承远古至…...

省略号和可变参数模板

本文主要介绍如何展开可变参数的参数包 1.C语言的va_list展开可变参数 #include <iostream> #include <cstdarg>void printNumbers(int count, ...) {// 声明va_list类型的变量va_list args;// 使用va_start将可变参数写入变量argsva_start(args, count);for (in…...

【从零开始学习JVM | 第四篇】类加载器和双亲委派机制(高频面试题)

前言&#xff1a; 双亲委派机制对于面试这块来说非常重要&#xff0c;在实际开发中也是经常遇见需要打破双亲委派的需求&#xff0c;今天我们一起来探索一下什么是双亲委派机制&#xff0c;在此之前我们先介绍一下类的加载器。 目录 ​编辑 前言&#xff1a; 类加载器 1. …...

在golang中如何将已安装的依赖降级处理,比如:将 go-ansible/v2@v2.2.0 更换为 go-ansible/@v1.1.7

在 Go 项目中降级 go-ansible 从 v2.2.0 到 v1.1.7 具体步骤&#xff1a; 第一步&#xff1a; 修改 go.mod 文件 // 原 v2 版本声明 require github.com/apenella/go-ansible/v2 v2.2.0 替换为&#xff1a; // 改为 v…...

Matlab实现任意伪彩色图像可视化显示

Matlab实现任意伪彩色图像可视化显示 1、灰度原始图像2、RGB彩色原始图像 在科研研究中&#xff0c;如何展示好看的实验结果图像非常重要&#xff01;&#xff01;&#xff01; 1、灰度原始图像 灰度图像每个像素点只有一个数值&#xff0c;代表该点的​​亮度&#xff08;或…...

DAY 45 超大力王爱学Python

来自超大力王的友情提示&#xff1a;在用tensordoard的时候一定一定要用绝对位置&#xff0c;例如&#xff1a;tensorboard --logdir"D:\代码\archive (1)\runs\cifar10_mlp_experiment_2" 不然读取不了数据 知识点回顾&#xff1a; tensorboard的发展历史和原理tens…...

python读取SQLite表个并生成pdf文件

代码用于创建含50列的SQLite数据库并插入500行随机浮点数据&#xff0c;随后读取数据&#xff0c;通过ReportLab生成横向PDF表格&#xff0c;包含格式化&#xff08;两位小数&#xff09;及表头、网格线等美观样式。 # 导入所需库 import sqlite3 # 用于操作…...