精华内容
下载资源
问答
  • 2018-04-19 23:41:00

    java通过url调用远程接口返回json数据,有用户名和密码验证,

    转自 https://blog.csdn.net/wanglong1990421/article/details/78815856 

     

    Java请求远程URL

    转自 https://blog.csdn.net/c657542441/article/details/9055205

     

    Java请求一个URL。获取网站返回的数据。

    转自 https://blog.csdn.net/xiaocen99/article/details/46582849 

     

    java远程调用有道词典API接口实例

    转自 https://blog.csdn.net/CS2559371050/article/details/64127631

     

    JAVA POST请求远程HTTP接口

    转自  https://blog.csdn.net/thl331860203/article/details/51783434

     

    java基础——用HttpURLConnection向服务器发送POST请求

    转自  https://blog.csdn.net/zhouxingchi9527/article/details/51995167

    转载于:https://www.cnblogs.com/enjoyjava/p/8886949.html

    更多相关内容
  • java通过url调用接口

    2017-09-13 09:45:11
    java通过url调用外部接口,返回字符串,再讲字符串解析成json格式。包含源码和jar包,直接运行即可,带注释。
  • 主要介绍了java后台调用HttpURLConnection类模拟浏览器请求实例,该实例可用于接口调用,具有一定的实用价值,需要的朋友可以参考下
  • 我们现在通常都是微服务,可以直接使用client,通过feign调用别的服务的接口, 还有一种原始的方法: 1.核心工具 import org.springframework.stereotype.Component; import java.io.BufferedReader; import java....

    前言
    我们调用接口,通常都是在微服务中,可以直接使用client,通过feign调用别的服务的接口,
    还有一种原始的方法。如下:

    1.核心工具类

    import org.springframework.stereotype.Component;
    
    import java.io.BufferedReader;
    import java.io.InputStreamReader;
    import java.io.PrintWriter;
    import java.net.HttpURLConnection;
    import java.net.URL;
    import java.net.URLConnection;
    import java.util.Map;
    
    /**
     * Http请求工具类
     * @author weihong.zhu
     */
    @Component
    public class HttpUtil {
    
        /**
         * 设置连接超时时间,20000,消除魔术数字
         */
        private static final int TWOTHOUSAND = 20000;
    
        /**
         * 发送post请求
         *
         * @param url    请求路径
         * @param header 请求头
         * @param body   请求体
         * @return String
         */
        public String doPost(String url, Map<String, String> header, String body) {
            String result = "";
            BufferedReader in = null;
            PrintWriter out = null;
            try {
                // 设置 url
                URL realUrl = new URL(url);
                HttpURLConnection connection = (HttpURLConnection) realUrl.openConnection();
                // 设置 header
                for (String key : header.keySet()) {
                    connection.setRequestProperty(key, header.get(key));
                }
                // 设置请求 body
                connection.setDoOutput(true);
                connection.setDoInput(true);
    
                //设置连接超时和读取超时时间
                connection.setConnectTimeout(TWOTHOUSAND);
                connection.setReadTimeout(TWOTHOUSAND);
                try {
                    out = new PrintWriter(connection.getOutputStream());
                    // 保存body
                    out.print(body);
                    // 发送body
                    out.flush();
                } catch (Exception e) {
                    e.printStackTrace();
                }
                try {
                    // 获取响应body
                    in = new BufferedReader(new InputStreamReader(connection.getInputStream(), "UTF-8"));
                    String line;
                    while ((line = in.readLine()) != null) {
                        result += line;
                    }
                } catch (Exception e) {
                    e.printStackTrace();
                }
            } catch (Exception e) {
                e.printStackTrace();
                //return null;
            }
            return result;
        }
    
        /**
         * 发送get请求
         *
         * @param url    请求路径
         * @param header 请求头
         * @return String
         */
        public String doGet(String url, Map<String, String> header) {
            String result = "";
            BufferedReader in = null;
            try {
                // 设置 url
                URL realUrl = new URL(url);
                URLConnection connection = realUrl.openConnection();
                // 设置 header
                for (String key : header.keySet()) {
                    connection.setRequestProperty(key, header.get(key));
                }
                // 设置请求 body
                in = new BufferedReader(new InputStreamReader(connection.getInputStream()));
                String line;
                while ((line = in.readLine()) != null) {
                    result += line;
                }
            } catch (Exception e) {
                return null;
            }
            return result;
        }
    }
    

    2.使用

    	Map<String, String> map = new HashMap<>(); // 所有的参数,通过map形式放入header中
    	String jsonStr = httpUtil.doGet(url, map); //返回jsonstring  形式的结果
    
    展开全文
  • Java 调用Http Rest接口 例子说明2
  • Java代码中调用接口

    千次阅读 2021-03-09 14:46:54
    Java代码中调用接口代码中调用第三方接口封装一个工具类我在使用时遇到一个问题使用tomcat服务器使用SpringBoot内嵌的Tomcat同时也要注意list大小也有限制 代码中调用第三方接口封装一个工具类 json转换 <...

    代码中调用第三方接口封装一个工具类

    json转换

    <dependency>
    			<groupId>com.alibaba</groupId>
    			<artifactId>fastjson</artifactId>
    			<version>1.2.28</version>
    		</dependency>
    

    工具类

    package hs.ex.dyxx.ex.util;
    
    import org.apache.http.client.methods.CloseableHttpResponse;
    import org.apache.http.client.methods.HttpGet;
    import org.apache.http.client.utils.URIBuilder;
    import org.apache.http.impl.client.CloseableHttpClient;
    import org.apache.http.impl.client.HttpClients;
    import org.apache.http.util.EntityUtils;
    
    import java.io.IOException;
    import java.net.URI;
    import java.util.Map;
    
    public class RequestUtil {
    
        /**
         * 带参数的get请求
         * @param url
         * @param param
         * @return String
         */
        public static String doGet(String url, Map<String, String> param) {
            // 创建Httpclient对象
            CloseableHttpClient httpclient = HttpClients.createDefault();
    
            String resultString = "";
            CloseableHttpResponse response = null;
            try {
                // 创建uri
                URIBuilder builder = new URIBuilder(url);
                if (param != null) {
                    for (String key : param.keySet()) {
                        builder.addParameter(key, param.get(key));
                    }
                }
                URI uri = builder.build();
                // 创建http GET请求
                HttpGet httpGet = new HttpGet(uri);
                // 执行请求
                response = httpclient.execute(httpGet);
                // 判断返回状态是否为200
                if (response.getStatusLine().getStatusCode() == 200) {
                    resultString = EntityUtils.toString(response.getEntity(), "UTF-8");
                }
            } catch (Exception e) {
                e.printStackTrace();
            } finally {
                try {
                    if (response != null) {
                        response.close();
                    }
                    httpclient.close();
                } catch (IOException e) {
                    e.printStackTrace();
                }
            }
            return resultString;
        }
    
        /**
         * 不带参数的get请求
         * @param url
         * @return String
         */
        public static String doGet(String url) {
            return doGet(url, null);
        }
    
    /**
    	 * 带参数的post请求
    	 * @param url
    	 * @param param
    	 * @return String
    	 */
    	public static String doPost(String url, Map<String, String> param) {
    		// 创建Httpclient对象
    		CloseableHttpClient httpClient = HttpClients.createDefault();
    		CloseableHttpResponse response = null;
    		String resultString = "";
    		try {
    			// 创建Http Post请求
    			HttpPost httpPost = new HttpPost(url);
    			// 创建参数列表
    			if (param != null) {
    				List<NameValuePair> paramList = new ArrayList<>();
    				for (String key : param.keySet()) {
    					paramList.add(new BasicNameValuePair(key, param.get(key)));
    				}
    				// 模拟表单
    				UrlEncodedFormEntity entity = new UrlEncodedFormEntity(paramList);
    				httpPost.setEntity(entity);
    			}
    			// 执行http请求
    			response = httpClient.execute(httpPost);
    			resultString = EntityUtils.toString(response.getEntity(), "utf-8");
    		} catch (Exception e) {
    			e.printStackTrace();
    		} finally {
    			try {
    				response.close();
    			} catch (IOException e) {
    				e.printStackTrace();
    			}
    		}
    		return resultString;
    	}
     
    	/**
    	 * 不带参数的post请求
    	 * @param url
    	 * @return String
    	 */
    	public static String doPost(String url) {
    		return doPost(url, null);
    	}
    	
    	/**
    	 * 传送json类型的post请求
    	 * @param url
    	 * @param json
    	 * @return String
    	 */
    	public static String doPostJson(String url, String json) {
    		// 创建Httpclient对象
    		CloseableHttpClient httpClient = HttpClients.createDefault();
    		CloseableHttpResponse response = null;
    		String resultString = "";
    		try {
    			// 创建Http Post请求
    			HttpPost httpPost = new HttpPost(url);
    			// 创建请求内容
    			StringEntity entity = new StringEntity(json, ContentType.APPLICATION_JSON);
    			httpPost.setEntity(entity);
    			// 执行http请求
    			response = httpClient.execute(httpPost);
    			resultString = EntityUtils.toString(response.getEntity(), "utf-8");
    		} catch (Exception e) {
    			e.printStackTrace();
    		} finally {
    			try {
    				response.close();
    			} catch (IOException e) {
    				e.printStackTrace();
    			}
    		}
    		return resultString;
    	}
    }
    
    

    我在使用时遇到一个问题

    当调用post接口时如果参数过大数据过多时调用接口失败,管道断开。当时的解决办法是把数据分开上传。网上也有一些解决办法。

    使用tomcat服务器

    修改Tomcat server.xml配置,取消Post请求大小限制

    <Connector port="8080" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="19443"
      maxPostSize="-1"/>
    

    使用SpringBoot内嵌的Tomcat

    post请求默认参数限制最大为2M,等于-1就是解除限制。

    server.tomcat.max-http-post-size=-1
    

    同时也要注意list大小也有限制

    SpringMVC 接收List/数组大小默认限制为256个,可以在全局处理类@ControlerAdvice标注的全局Controller异常处理器类中添加如下代码

    @InitBinder
    protected void initBinder(WebDataBinder binder) {
        binder.setAutoGrowNestedPaths(true);
        binder.setAutoGrowCollectionLimit(Integer.MAX_VALUE);
    }
    
    展开全文
  • java如何调用接口方式

    2021-03-07 14:30:46
    这其中的url就是需要调的目标接口地址,URL类是java.net.*下的类,这个不陌生。setRequestMethod("POST");请求方式是有两个值进行选择,一个是GET,一个是POST,选择对应的请求方式setDoOutput(true);setDoInput(true)...

    首先URL restURL = new URL(url);这其中的url就是需要调的目标接口地址,URL类是java.net.*下的类,这个不陌生。

    setRequestMethod("POST");请求方式是有两个值进行选择,一个是GET,一个是POST,选择对应的请求方式

    setDoOutput(true);setDoInput(true);setDoInput()  :  // 设置是否向httpUrlConnection输出,因为这个是post请求,参数要放在http正文内,因此需要设为true, 默认是false;   setDoOutput():   // 设置是否从httpUrlConnection读入,默认情况下是true;

    setAllowUserInteraction();allowUserInteraction 如果为 true,则在允许用户交互(例如弹出一个验证对话框)的上下文中对此 URL 进行检查。

    下面代码的query是以  属性=值  传输的,若是多个则是 属性=值&属性=值这种形式传递的,传递给服务器,让服务器自己去处理。如何去生成这种形式的呢?最简单最快的方式在这里 Java将Map拼接成“参数=值&参数=值”

    close();创建流进行写入或读取返回值,创建用完后记得关闭流。

    有事需要生成时间戳,可以参考java时间类各种方法及用法,这个里面介绍了各种时间方法获取想要的时间戳

    java如何调用呢?

    package com.lwl.api.provider.demo.test;

    import java.io.BufferedReader;

    import java.io.InputStreamReader;

    import java.io.PrintStream;

    import java.net.HttpURLConnection;

    import java.net.URL;

    public class RestUtil {

    public String load(String url,String query) throws Exception

    {

    URL restURL = new URL(url);

    /*

    * 此处的urlConnection对象实际上是根据URL的请求协议(此处是http)生成的URLConnection类 的子类HttpURLConnection

    */

    HttpURLConnection conn = (HttpURLConnection) restURL.openConnection();

    //请求方式

    conn.setRequestMethod("POST");

    //设置是否从httpUrlConnection读入,默认情况下是true; httpUrlConnection.setDoInput(true);

    conn.setDoOutput(true);

    //allowUserInteraction 如果为 true,则在允许用户交互(例如弹出一个验证对话框)的上下文中对此 URL 进行检查。

    conn.setAllowUserInteraction(false);

    PrintStream ps = new PrintStream(conn.getOutputStream());

    ps.print(query);

    ps.close();

    BufferedReader bReader = new BufferedReader(new InputStreamReader(conn.getInputStream()));

    String line,resultStr="";

    while(null != (line=bReader.readLine()))

    {

    resultStr +=line;

    }

    System.out.println("接口调用数据:"+resultStr);

    bReader.close();

    return resultStr;

    }

    public static void main(String []args) {try {

    RestUtil restUtil = new RestUtil();

    String resultString = restUtil.load(

    "http://192.168.10.89:8080/eoffice-restful/resources/sys/oaholiday",

    "floor=first&year=2017&month=9&isLeader=N");

    } catch (Exception e) {

    System.out.print(e.getMessage());

    }

    }

    }

    展开全文
  • Java语言后台实现调用url路径并传参。
  • 工作中有时会对接WebService的接口,考虑过CXF,Axis等框架,但只是调用的话用HTTP就够了 简单介绍一下相关概念 WebService:一种轻量级的独立的通讯技术,跨语言,跨平台,通过SOAP在Web上提供服务,使用WSDL文件...
  • } HttpClientUtil.doPost(String param1,String param2): 其中param1是url以及拼接的普通参数,param2是json对象的字符串 被调用的方法:@PostMapping("/postMethod") publicResultResponse postMethod(@...
  • 1.第一种 String ticket = "";//登录凭证 String url_str = "...;//获取用户认证的帐号URL String ticket_url = url_str + ticket; URL url = new URL(ticket_url); ...
  • java中使用HttpClient调用接口

    千次阅读 2020-10-09 18:46:22
    java中使用HttpClient调用接口 1.HttpClient 提供的主要的功能 (1)实现了所有 HTTP 的方法(GET,POST,PUT,DELETE 等) (2)支持自动转向 (3)支持 HTTPS 协议 (4)支持代理服务器等 直接言归正传了!!!!上...
  • 最近有需要调用url远程接口来获取返回值,还有用户名和密码验证 使用http请求来获取接口返回值,代码如下 package com.kp.module; import com.kp.constant.ServerConstant; import java.util.Base64; ...
  • Java 通过Soap方式调用WebService接口

    千次阅读 2020-09-29 15:07:30
    import java.nio.charset.Charset; public class WebServiceTest { public static void main(String[] args) { String url = "http://192.168.42.111:8080/web/services/testServImpl?wsdl"; // 根据实际情况拼接...
  • Java跨系统调用接口(POST)

    千次阅读 2021-03-03 11:50:29
    }/*** 并发量测试 *@paramxian 线程池个数 *@paramcount 每个线程的调用次数 *@paramurl 调用URL *@paramhead 头参数 *@parampaemear 传入参数*/ public static void bing(final int xian,final int count, ...
  • java http远程调用接口下载文件

    千次阅读 2020-12-16 13:56:05
    远程调用http接口下载文件,接口返回流 一、将文件保存本地 public String httpDownload(String httpUrl){ try { URL url = new URL(httpUrl) ; HttpURLConnection urlConnection = (HttpURLConnection) url....
  • java调用接口的get方法

    千次阅读 2020-07-21 17:10:12
    java 调用接口的get方法 //接口调用 public String get(String httpUrl) { // httpurl为所调用接口url String result = ""; try { URL url = new URL(httpUrl.toString()); StringBuffer...
  • java+soap风格接口调用

    千次阅读 2021-09-07 10:50:40
    java调用别人soap接口 我们项目中经常用到调用第三方接口,今天说说java中调用别人soap风格接口的两种方式 第一种: 第一种方式就是常用的feign了,话不多说,直接上图 重点在于注解@FeignClient 和@Headers,拿到...
  • java 如何调用接口

    千次阅读 2021-03-04 00:10:36
    在实际开发过程中,我们经常需要调用对方提供的接口或测试自己写的接口是否合适,所以,问题来了,java如何调用接口?很多项目都会封装规定好本身项目的接口规范,所以大多数需要去调用对方提供的接口或第三方接口...
  • import java.io.IOException;import java.io.InputStream;import java.io.OutputStream;import java.io.OutputStreamWriter;...public class SoapUtil {/** 远程访问SOAP协议接口** @param url: 服务接口地址"http:...
  • java异步调用外部接口

    千次阅读 2020-12-24 14:42:35
    通过SpringBoot-RestTemplate方式调用 1.RestTemplate工具类 package com.singhand.companyadressredis.main.config; import org.apache.http.impl.client.CloseableHttpClient; import org.springframework....
  • java后台调用webservice接口常用方式

    千次阅读 2022-03-10 14:51:50
    最近在项目开发中遇到对接系统提供的接口为webservice接口,第一次调用webservice通过查询尝试了以下两种调用方式: 方式一:普通接口调用 import java.io.IOException; import java.io.InputStream; import java.io...
  • Java远程调用对方接口

    千次阅读 2020-04-11 14:46:47
    在实际的项目开发中,经常需要调用远程接口,那java是如何实现调用远程接口的...通过jdk的网络类Java.net.HttpURLConnection调用第三方http接口 /** * @Auther kezf * @Date 2020/4/11 * @param urlStr 目标地...
  • java中如何调用对方接口

    千次阅读 2021-03-10 07:38:39
    调用对方http接口步骤:URL url = new URL(path);1、打开和url之间的连接HttpURLConnection conn = (HttpURLConnection) url.openConnection();2、设置通用的请求属性conn.setRequestProperty("accept", "*/*");conn...
  • java实现HTTPS接口调用

    千次阅读 2021-09-08 16:16:24
    sslContext.init(null,tm,new java.security.SecureRandom()); //从上述SSLContxt对象中得到SSLSocketFactory对象 SSLSocketFactory ssf = sslContext.getSocketFactory(); URL requestUrl = new URL...
  • Eclipse下完整的java程序,包含HttpClient的全部jar包。通过java类文件,实现通过链接将文件下载本地
  • JAVA 调用外部接口

    万次阅读 2020-08-04 08:57:25
    系统需要调用guo wai一个接口,由于调用的guowai接口,需要通过proxy请求 现在有3个方案 1.使用proxy进行http请求 2.直接使用guo wai服务器部署项目 3.使用HK服务器作为中介获取返回数据 1:问题,代理不稳定 2:...
  • java调用接口的方法

    千次阅读 2018-12-13 17:25:25
    package ... import java.io.BufferedReader; import java.io.InputStream; import java.io.InputStreamReader; import java.io.PrintWriter; import java.net.HttpURLConnection; import jav...
  • 一个类通过继承接口的方式,从而来继承接口的抽象方法。一个接口只有方法的特征没有方法的实现,因此这些方法可以在不同的地方被不同的类实现,而这些实现可以具有不同的行为(功能)。 特点 就像一个类一样,一个...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 373,938
精华内容 149,575
关键字:

java通过url调用接口

java 订阅
友情链接: aes.rar