• java在代码中调用接口
public static void main(String[] args) {try {//创建接口地址对象URL url = new URL("http://localhost:8888/menu");//根据url对象来生成一个打开连接http请求HttpURLConnection connection = (HttpURLConnection)url.openConnection();//设置请求方式connection.setRequestMethod("GET");BufferedReader br = new BufferedReader(new InputStreamReader(connection.getInputStream()));String line = null;while(null != (line = br.readLine())){System.out.println(line);}br.close();} catch (Exception e) {e.printStackTrace();}}
  • URL类
- url类
URL表示统一资源定位符,指向万维网上的“资源”的指针。 资源可以像文件或目录一样简单,或者可以是对更复杂的对象的引用
一般来说,URL可以分为几个部分。 请考虑以下示例:
http://www.example.com/docs/resource1.html
上面的URL表示要使用的协议是http (超文本传输协议),并且信息驻留在名为www.example.com的主机上。 该主机上的信息名为/docs/resource1.html 主机上此名称的确切含义取决于协议和主机。 信息通常驻留在一个文件中,但它可以在飞行中生成。 该URL的这个组件称为路径组件。
-方法
1 openConnection() 返回一个HTTURLConnection对象 表示远程url引用对象
2 openStream() 以流的形式来获取资源
  • 调用post请求
package com.guonian.miaosha.Scoket;import org.springframework.boot.configurationprocessor.json.JSONObject;
import org.springframework.web.cors.UrlBasedCorsConfigurationSource;
import sun.net.www.http.HttpClient;import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;
import java.io.PrintWriter;
import java.net.HttpURLConnection;
import java.net.URL;
import java.net.URLConnection;
import java.nio.BufferUnderflowException;/** java中调用http接口的方式*  1 httpURLConnnection*  2 HttpClient*  3 RestTemplate* 测试post* */
public class HttpInterfacePost {public static void main(String[] args) throws Exception {HttpURLConnection connection = null;PrintWriter pw = null;String line = null;String target = "http://localhost:8888/menupost";//设置url 请求的urlURL url = new URL(target);//设置打开连接 建立连接connection=  (HttpURLConnection)url.openConnection();//设置请求方式 默认是getconnection.setRequestMethod("POST");//设置通用的请求属性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.setRequestProperty("Content-Type", "application/json");//post请求不能使用缓存设置为falseconnection.setUseCaches(false);//设置是否向connection输出 post请求必须设置connection.setDoOutput(true);// 设置是否从connection读入,默认情况下是true;  post请求必须设置connection.setDoInput(true);connection.setConnectTimeout(3000);// 连接主机的超时时间connection.setReadTimeout(3000);// 从主机读取数据的超时时间//开启连接connection.connect();//URL获取输出流pw = new PrintWriter(new OutputStreamWriter(connection.getOutputStream(),"UTF-8"));String params = "name=4&address=123";pw.print(params.toString());pw.flush();System.out.println(connection.getURL());System.out.println(connection.toString());int responseCode = connection.getResponseCode();System.out.println("响应码:"+responseCode);if(responseCode == HttpURLConnection.HTTP_OK){System.out.println("连接成功!!!");String result =null;BufferedReader br = new BufferedReader(new InputStreamReader(connection.getInputStream()));while(null != (result = br.readLine())){System.out.println(result);}//关闭流和关闭连接br.close();connection.disconnect();}else{System.out.println("连接失败!!!");}}
}
  • 请求发送post请求和数据获取
package com.guonian.miaosha.Scoket;
import org.springframework.boot.configurationprocessor.json.JSONArray;
import org.springframework.boot.configurationprocessor.json.JSONException;
import org.springframework.boot.configurationprocessor.json.JSONObject;
import org.springframework.web.cors.UrlBasedCorsConfigurationSource;
import springfox.documentation.spring.web.json.Json;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.PrintWriter;
import java.net.HttpURLConnection;
import java.net.URL;
import java.net.URLConnection;
import java.sql.Connection;public class HttpInterfaceMethod {public static void main(String[] args) throws JSONException {String s = sendPost("http://localhost:8888/menupost", "name=4&address=123");JSONArray ja = new JSONArray(s);for(int a =0;a<ja.length();a++){System.out.println(ja.get(a));//将元素变成json对象 强转 JSONObject jo = (JSONObject)ja.get(a);System.out.println(jo.get("menuId"));System.out.println(jo.get("parentId"));System.out.println(jo.get("parentIds"));System.out.println(jo.get("menuName"));System.out.println(jo.get("path"));}}public static String sendPost(String url,String parameter){PrintWriter pw = null;BufferedReader br = null;String result = null;HttpURLConnection urlConnection = null;try{//创建url对象URL url1 = new URL(url);//建立连接urlConnection = (HttpURLConnection)url1.openConnection();//设置连接属性urlConnection.setRequestProperty("accept", "*/*");urlConnection.setRequestProperty("connection", "Keep-Alive");urlConnection.setRequestProperty("user-agent","Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1;SV1)");//发送post请求必须设置urlConnection.setDoInput(true);urlConnection.setDoOutput(true);//开启连接urlConnection.connect();//获取连接对象的输出流来拼接参数pw = new PrintWriter(urlConnection.getOutputStream());pw.write(parameter);pw.flush();//读取响应数据int responseCode = urlConnection.getResponseCode();System.out.println("状态码"+responseCode);if(responseCode == HttpURLConnection.HTTP_OK){System.out.println("响应成功!");//获取输入流String line = null;br = new BufferedReader(new InputStreamReader(urlConnection.getInputStream()));while(null != (line = br.readLine())){result = line;System.out.println(result);}}}catch(Exception e){e.printStackTrace();}finally{//关闭流和关闭连接try {br.close();} catch (IOException e) {e.printStackTrace();}urlConnection.disconnect();}return  result;}
}
  • 用url类来访问服务器上的文件
package com.guonian.miaosha;import java.io.BufferedReader;
import java.io.File;
import java.io.IOException;
import java.io.InputStreamReader;
import java.net.HttpURLConnection;
import java.net.MalformedURLException;
import java.net.URL;public class Test {public static void main(String[] args) throws IOException {// URL url = new URL("http://192.168.1.220:8080/file/笔记.txt");URL url = new URL("http://192.168.1.220:8080/file/%E7%AC%94%E8%AE%B0.txt");//创建接口地址对象HttpURLConnection connection = (HttpURLConnection)url.openConnection();//设置请求方式//connection.setRequestMethod("GET");connection.connect();BufferedReader br = new BufferedReader(new InputStreamReader(connection.getInputStream(),"UTF-8"));String line = null;while(null != (line = br.readLine())){System.out.println(line);}br.close();}
}

URL调用http接口相关推荐

  1. java调用远程 接口_java通过url调用远程接口返回json数据

    java通过url调用远程接口返回json数据,有用户名和密码验证, 转自 https://blog.csdn.net/wanglong1990421/article/details/78815856 ...

  2. WebService工具类调用远程接口服务时java.io.IOException: Server returned HTTP response code: 500 for URL XXX

    问题描述:在本地测试时,使用个人封装的Webservice代码工具类调用远程接口服务时,一切正常.但是一旦将该代码放到一个已有项目的中使用时,就会出现如下所示的错误提示 java.io.IOExcep ...

  3. 利用python3 调用zabbix接口完成批量加聚合图形(screens)

    在上一篇博客中,我们完成的利用python3 调用zabbix接口批量增加主机,增加主机的item,增加主机的图形! 接下来我们完成批量增加主机的screen 首先我们要增加screen需要哪些参数呢 ...

  4. 利用MyEclipse开发一个调用webservice接口的程序

    上一篇文章我们已经学习了如何使用Java 工具MyEclipse开发一个webservice接口,那么接口开发好了如何调用?接下来我们就来解决这个问题. 1:首先随便创建一个Java project选 ...

  5. java获取get请求返回_Java中处理调用第三方接口(post/get),该如何处理,返回的数据如何处理...

    条件:1.请求URL:http://ip:port/yypt/*.jsonRequest 2.接口采用http post协议.Content-Type为application/json 调用流程: 第 ...

  6. C# 关于调用微信接口的代码

    之前公司下达了开发微信只一块的任务,然后我就去网上取了一番经,可是感觉对于我这种微信开发的新手来说,所需要的东西太多,太凌乱了,然后整个人就懵逼了. 费了很长时间才将微信接口调用完成.所以呐,我整理了 ...

  7. Java 调用http接口(基于OkHttp的Http工具类方法示例)

    目录 Java 调用http接口(基于OkHttp的Http工具类方法示例) OkHttp3 MAVEN依赖 Http get操作示例 Http Post操作示例 Http 超时控制 工具类示例 Ja ...

  8. C# 调用Java接口

    最近工作任务中包含了系统之间数据的互通,当然就考虑系统互相开通接口来实现通信了! 作为.NET的开发者,还没有调用过Java接口的经历,惭愧惭愧! 话不多说,直接进入正题! 调用webservice接 ...

  9. 后端调用python_【后端开发】python如何调用api接口

    python调用api接口的方式: 接口协议:http.webservice.rpc等. 请求方式:get.post方式 请求参数格式: a. get请求都是通过url?param=xxx&p ...

最新文章

  1. 6.2 sql安全性
  2. 如何将txt格式的数据导入到MATLAB中,并绘制图线
  3. 在深谈TCP/IP三步握手四步挥手原理及衍生问题—长文解剖IP
  4. 得到java异常printStackTrace的详细信息
  5. 曾经安全难为智 除却山石不是云——山石网科举办2016年度金融用户峰会
  6. [optee_os]-optee中的内核栈、中断栈、abort栈的定义
  7. npm install时报平台不兼容Unsupported platform for xxx的解决办法:npm install -f强制安装(centos7下安装vite2 vue依赖时出现这个问题)
  8. muduo学习笔记 - 第2章 线程同步精要
  9. WeChall_PHP-0817
  10. ​凌云KTV点歌系统功能简介
  11. 云服务器重装系统后卡顿,云服务器Windows重装系统须知
  12. 神奇的四次方数(洛谷P1679题题解,Java语言描述)
  13. 内核页表隔离(Kernel page-table isolation,KPTI,简称PTI,旧称KAISER)
  14. MVVM 自动生成编号
  15. 给初创业者的几点建议
  16. [转]『TensorFlow』读书笔记_TFRecord学习
  17. android打造一个简单的欢迎界面
  18. js 表格动态增加行通用函数
  19. matlab电磁场,电磁场与波 电磁材料及MATLAB计算
  20. 2021年计算机保研面试题

热门文章

  1. java 地图定位_利用百度地图进行定位
  2. [2018-10-1]斐讯K2 PSG1218 A2 刷bread 和第三方老毛子Padavan固件
  3. 关于WAS的Log和Diagnose
  4. 使用Linux搭建web服务器
  5. CentOS 7搭建Web服务器
  6. 【读书笔记】《论语》之名言释义
  7. 深度强化学习制作森林冰火人游戏AI(三)向游戏输出键盘控制信息
  8. imgaug数据增强
  9. 服务器物理内存利用率,物理内存占用率过高
  10. java 数组对象长度_Java中的数组长度:关于Java中数组长度的所有信息