美文网首页
java http请求访问接口

java http请求访问接口

作者: 蛋皮皮652 | 来源:发表于2018-12-18 14:55 被阅读0次

package com.yjys.malls.modules.works.utils;

import net.sf.json.JSONObject;

import java.io.*;

import java.net.URL;

import java.net.URLConnection;

import java.util.HashMap;

import java.util.Map;

/**

* @Description:

* @Author: wy

* @CreatTime: 2018-11-29 下午 01:45

*/

public class WebService {

public static void main(String[] args) {

Map dept =new HashMap<>();

        dept.put("pageNum","1");

        dept.put("pageSize","3");

        String a=sendPost("http://tea.yanxukj.com/malls/api/getDept",dept);

        System.out.println("@@a  "+a);

    }

/**

    * 向服务器接口发送post请求

    *

    * @param    url:请求的接口地址

    * @param params:请求参数

    * @return    表远程资源的响应结果

    */

    public static StringsendPost(String url, Map params) {

//将Map数据转换为JSON字符串

        String jsonParams=JSONObject.fromObject(params).toString();

        //System.out.println("!@#  "+jsonParams);

//PrintWriter out = null;

        DataOutputStream out=null;

        BufferedReader in =null;

        String result ="";

        try {

URL realUrl =new URL(url);

            //打开和URL之间的连接

            URLConnection connect = realUrl.openConnection();

            // 设置通用的请求属性

            connect.setRequestProperty("accept", "*/*");

            connect.setRequestProperty("connection", "Keep-Alive");

            connect.setRequestProperty("user-agent",

                    "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1;SV1)");

            connect.setRequestProperty("Content-Type","application/json");

            // 发送POST请求必须设置如下两行

            connect.setDoOutput(true);

            connect.setDoInput(true);

            // 获取URLConnection对象对应的输出流

            //out = new PrintWriter(connect.getOutputStream());

            out=new DataOutputStream(connect.getOutputStream());

            // 发送请求参数

            //out.print(jsonParams);

            out.write(jsonParams.getBytes("UTF-8"));//传中文必须

            // flush输出流的缓冲

            out.flush();

            // 定义BufferedReader输入流来读取URL的响应

            in =new BufferedReader(

new InputStreamReader(connect.getInputStream(),"UTF-8"));

            String line;

            while ((line = in.readLine()) !=null) {

result += line;

            }

}catch (Exception e) {

System.out.println("发送 POST 请求出现异常"+e);

            e.printStackTrace();

        }

//使用finally块来关闭输出流和输入流

        finally{

try{

if(out!=null){

out.close();

                }

if(in!=null){

in.close();

                }

}

catch(IOException ex){

ex.printStackTrace();

            }

}

return result;

    }

}

相关文章

  • java http请求访问接口

    package com.yjys.malls.modules.works.utils; import net.sf...

  • Https实现机制详解

    Https请求 一、访问HTTPS站点 两种方法来模拟发送HTTP请求,访问HTTP站点。一种方式是通过java....

  • Feign 详解

    1、Feign 是什么 Feign是一个http请求调用的轻量级框架,可以以Java接口注解的方式调用Http请求...

  • Feign远程调用原理

    1、Feign介绍 Feign是一个http请求调用的轻量级框架,可以以Java接口注解的方式调用Http请求。S...

  • Retrofit源码探究

    简要 原理,将一个Java接口翻译成一个Http请求,然后用Okhttp去发送这个请求 精华代码, Java动态代...

  • Servlet 实例

    Servlet 是服务 HTTP 请求并实现 javax.servlet.Servlet 接口的 Java 类。W...

  • Spring Cloud——OpenFeign源码解析

    一、简介 Feign是一个http请求调用的轻量级框架,可以以Java接口注解的方式调用Http请求,而不用像Ja...

  • java - 处理接口跨域的安全性问题

    Java给别人提供接口,接口安全怎么保证? 1.请求的合法性校验,考虑用token方式保证接口不被其他人访问。 2...

  • Jmeter访问接口后,查看响应数据,数据中文显示乱码

    问题:访问接口后,查看响应数据,数据中文显示乱码,如下图 解决: 1、http请求下BeanShell PostP...

  • fetch详谈

    简介 Fetch API 提供了一个 JavaScript接口,用于访问和操纵HTTP管道的部分,例如请求和响应...

网友评论

      本文标题:java http请求访问接口

      本文链接:https://www.haomeiwen.com/subject/jghlkqtx.html