HTTP调用接口方法

摘要:
Http调用第三方接口代码:/***住房融资接口的接口对接*@return*/publicMap<String,Object>frjRequest(){Stringurl=“住房融资接口提供的接口地址”;Stringresult=“”;HttpPosthttppost=newHttpPost(url);//创建HttpPost对象CloseableHttpClientclient=HttpClients.cre

Http调用第三方接口代码:

/**
 * 房融界接口对接
 * @return
 */
public Map<String,Object> frjRequest(){
    String url="房融界提供的接口地址";
    String result = "";
    HttpPost httppost=new HttpPost(url); //建立HttpPost对象
    CloseableHttpClient client = HttpClients.createDefault();//创建HttpClient对象

    try {
        //添加参数
        List<NameValuePair> paramsList=new ArrayList<NameValuePair>();
        paramsList.add(new BasicNameValuePair("键","值"));
        UrlEncodedFormEntity entity = new UrlEncodedFormEntity(paramsList, "UTF-8");

        //设置请求和传输时长
        RequestConfig.Builder builder = RequestConfig.custom();
        builder.setSocketTimeout(120000);
        builder.setConnectTimeout(60000);
        RequestConfig config = builder.build();

        httppost.setEntity(entity);
        httppost.setConfig(config);

        //发送Post
        CloseableHttpResponse response = client.execute(httppost);
        HttpEntity httpEntity = response.getEntity();
        if (httpEntity != null) {
            result = EntityUtils.toString(httpEntity, "UTF-8");
        }
    } catch (IOException e) {
        e.printStackTrace();
    } finally {
        try {
            client.close();
            httppost.releaseConnection();
        } catch (IOException e) {
            logger.info(e.toString(), e);
        }
    }
    return JSON.parseObject(result, Map.class);
}

 方法二:传递JSON格式请求

/**
 * 发送json流数据*/
public static String postWithJSON(String url, String jsonParam) throws Exception {
    HttpPost httpPost = new HttpPost(url);
    CloseableHttpClient client = HttpClients.createDefault();
    String respContent = null;
    StringEntity entity = new StringEntity(jsonParam, "utf-8");//解决中文乱码问题
    entity.setContentEncoding("UTF-8");
    entity.setContentType("application/json");
    httpPost.setEntity(entity);
    HttpResponse resp = client.execute(httpPost);
    if (resp.getStatusLine().getStatusCode() == 200) {
        HttpEntity he = resp.getEntity();
        respContent = EntityUtils.toString(he, "UTF-8");
    }
    return respContent;
}

注意:

//Map --> JSONString
Map<String,Object> param = new HashMap<>();
param.put("name",name);
param.put("phone",phone);
String jsonParam = JSONUtils.toJSONString(param);
//JSONString --> JSONObj
JSONObject resultObj = JSONObject.parseObject(jsonParam);

方法三:传递字符串格式数据

public static String postWithString(String url, String stringParam) throws Exception {
    HttpPost httpPost = new HttpPost(url);
    CloseableHttpClient client = HttpClients.createDefault();
    String respContent = null;
    StringEntity entity = new StringEntity(stringParam, "utf-8");//解决中文乱码问题
    entity.setContentEncoding("UTF-8");
    entity.setContentType("text");
    httpPost.setEntity(entity);
    HttpResponse resp = client.execute(httpPost);
    if (resp.getStatusLine().getStatusCode() == 200) {
        HttpEntity he = resp.getEntity();
        respContent = EntityUtils.toString(he, "UTF-8");
    }
    return respContent;
}

免责声明:文章转载自《HTTP调用接口方法》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇WFLoader、Module和RemoteObject失效原因认识Windows Communication Foundation下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

java的输入输出

0x01:输出流 java常用的输出语句有下面三种: System.out.println();//换行打印,输出之后会自动换行  System.out.print();//不换行打印 System.out.printf();//按格式输出 0x02:输出示例 public class test { public static void...

PerformanceCounter 基本介绍以及示例方法

一 PerformanceCounter 基本介绍 1 简单介绍 表示 Windows NT 性能计数器组件 命名空间:System.Diagnostics 程序集:System(在 system.dll 中) 2 构造函数(只介绍本文要用到的) PerformanceCounter (String, String, String) 功能: 初始化 P...

wchar_t,char,string,wstring等的总结

一、LPSTR LPCSTR LPTSTR LPCTSTR等 确定的类型: LPSTR = CHAR * = char *LPCSTR = const CHAR * = char * //c意为const  不确定类型(可变型): LPTSTR = LPWSTR = WCHAR * = wchar_t * //(Unicode编码) = LPSTR =...

在Entity Framework中使用存储过程(一):实现存储过程的自动映射

之前给自己放了一个比较长的假期,在这期间基本上没怎么来园子逛。很多朋友的留言也没有一一回复,在这里先向大家道个歉。最近一段时间的工作任务是如何将ADO.NET Entity Framework 4.0(以下简称EF)引入到我们的开发框架,进行相应的封装、扩展,使之成为一个符合在特定场景下进行企业级快速开发的ORM。在此过程中遇到了一些挑战,也有一些心得。为...

EFCore梳理

一、CodeFirst模式 官网:https://docs.microsoft.com/zh-cn/ef/core/get-started/overview/first-app?tabs=visual-studio 下面进行一个简单的示例。 代码:https://github.com/qiuxianhu/EFCoreSummary 1、创建一个.NETCo...

实现自己的.NET Core配置Provider之Yaml

YAML是一种更适合人阅读的文件格式,很多大型的项目像Ruby on Rails都选择YAML作为配置文件的格式。如果项目的配置很少,用JSON或YAML没有多大差别。看看rails项目中的配置文件,如果用JSON写试试什么感受吧。 在《实现自己的.NET Core配置Provider之EF》中已经讲过配置的执行流程,这里不再复述,直接动手。 YamlCo...