http basic authentication通过post方式访问api示例分享 basic认证示例

 更新时间:2014年01月22日 09:00:40   作者:  
在HTTP中,基本认证是一种用来允许Web浏览器或其他客户端程序在请求时提供以用户名和口令形式的凭证,这篇文章主要介绍了http basic authentication通过post方式访问api示例,大家参考使用吧


复制代码 代码如下:

private static String url = PropertiesLoader.getProperty("ALLYES_SERVER", false);
    private static String username = PropertiesLoader.getProperty("ALLYES_USERNAME", false);
    private static String password = PropertiesLoader.getProperty("ALLYES_PASSWORD", false);

    /**
     * 添加创意
     *
     * @param creativeAudit
     * @return
     */
    public static Map<String, Object> addCreative(CreativeAudit creativeAudit) {
        //name,width,height,type,creativeTagId, code,bindId
        String type = "9";
        if (creativeAudit.getRelative_path().toLowerCase().endsWith("gif"))
            type = "10";
        if (creativeAudit.getRelative_path().toLowerCase().endsWith("swf"))
            type = "11";
        Map<String, Object> result = new HashMap<String, Object>();

        String addUrl = url + "/creatives/add";
        DefaultHttpClient httpClient = new DefaultHttpClient();
        httpClient.getCredentialsProvider().setCredentials(AuthScope.ANY, new UsernamePasswordCredentials(username, password));
        try {
            List<NameValuePair> postparams = new ArrayList<NameValuePair>();
            postparams.add(new BasicNameValuePair("name", creativeAudit.getName()));
            postparams.add(new BasicNameValuePair("width", Integer.toString(creativeAudit.getWidth())));
            postparams.add(new BasicNameValuePair("height", Integer.toString(creativeAudit.getHeight())));
            postparams.add(new BasicNameValuePair("type", type));
            postparams.add(new BasicNameValuePair("creativeTagId", creativeAudit.getAdCategory().getAd_caterory().substring(2)));
            postparams.add(new BasicNameValuePair("code", creativeAudit.getCode()));
            postparams.add(new BasicNameValuePair("bindId", creativeAudit.getGeoid()));
            UrlEncodedFormEntity entity = new UrlEncodedFormEntity(postparams, "UTF-8");
            HttpPost httpPost = new HttpPost(addUrl);
            httpPost.setEntity(entity);
            HttpResponse httpResponse = httpClient.execute(httpPost);
            int statusCode = httpResponse.getStatusLine().getStatusCode();
            if (statusCode == HttpStatus.SC_OK) {
                HttpEntity httpEntity = httpResponse.getEntity();
                String createResult = EntityUtils.toString(httpEntity, "UTF-8");
                JSONObject jsonObject = JSONObject.fromObject(createResult);
                String uuid = jsonObject.get("id").toString();
                creativeAudit.setUuid(uuid);
                result.put("success", creativeAudit);
            } else {
                HttpEntity httpEntity = httpResponse.getEntity();
                String createResult = EntityUtils.toString(httpEntity, "UTF-8");
                String errorMessage = "新增创意:" + creativeAudit.getGeoid() + "出错,状态码:" + statusCode + "; " + createResult;
                result.put("failed", errorMessage);
            }
        } catch (Exception ue) {
            ue.printStackTrace();
            result.put("failed", "添加创意时提交的数据有问题!");
        }
         /*
        creativeAudit.setUuid("189-"+creativeAudit.getGeoid());
        result.put("success",creativeAudit);
        */
        return result;
    }

相关文章

  • Spring框架基于xml实现自动装配流程详解

    Spring框架基于xml实现自动装配流程详解

    自动装配就是指 Spring 容器在不使用 <constructor-arg> 和<property> 标签的情况下,可以自动装配(autowire)相互协作的 Bean 之间的关联关系,将一个 Bean 注入其他 Bean 的 Property 中
    2022-11-11
  • nacos配置实例权重不生效问题

    nacos配置实例权重不生效问题

    这篇文章主要介绍了nacos配置实例权重不生效问题及解决方案,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2024-07-07
  • java构造函数的三种类型总结

    java构造函数的三种类型总结

    在本篇文章里小编给大家整理了一篇关于java构造函数的三种类型总结内容,有需要的朋友们可以学习参考下。
    2021-01-01
  • 一文总结RabbitMQ中的消息确认机制

    一文总结RabbitMQ中的消息确认机制

    RabbitMQ消息确认机制指的是在消息传递过程中,发送方发送消息后,接收方需要对消息进行确认,以确保消息被正确地接收和处理,本文为大家整理了RabbitMQ中的消息确认机制,需要的可以参考一下
    2023-06-06
  • JavaWeb评论功能实现步骤以及代码实例

    JavaWeb评论功能实现步骤以及代码实例

    项目初始版本上线,有时间写点东西记录一下项目中的心得体会,通过这个项目学习了很多,要写下来的有很多,先从评论功能开始吧,下面这篇文章主要给大家介绍了关于JavaWeb评论功能实现步骤以及代码的相关资料,需要的朋友可以参考下
    2023-01-01
  • SpringBoot + MyBatis-Plus构建树形结构的几种方式

    SpringBoot + MyBatis-Plus构建树形结构的几种方式

    在实际开发中,很多数据都是树形结构,本文主要介绍了SpringBoot + MyBatis-Plus构建树形结构的几种方式,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2023-08-08
  • springboot下添加全局异常处理和自定义异常处理的过程解析

    springboot下添加全局异常处理和自定义异常处理的过程解析

    在spring项目中,优雅处理异常,好处是可以将系统产生的全部异常统一捕获处理,自定义的异常也由全局异常来捕获,如果涉及到validator参数校验器使用全局异常捕获也是较为方便,这篇文章主要介绍了springboot下添加全局异常处理和自定义异常处理,需要的朋友可以参考下
    2023-12-12
  • Spring MVC 与 CORS跨域的详细介绍

    Spring MVC 与 CORS跨域的详细介绍

    本文介绍了 CORS 的知识以及如何在 Spring MVC 中配置 CORS,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-05-05
  • springboot高并发下提高吞吐量的实现

    springboot高并发下提高吞吐量的实现

    这篇文章主要介绍了springboot高并发下提高吞吐量的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-11-11
  • Linux下Hadoop 2.7.3 安装搭建过程

    Linux下Hadoop 2.7.3 安装搭建过程

    Hadoop实现了一个分布式文件系统(Hadoop Distributed File System),简称HDFS,这篇文章给大家介绍Linux下Hadoop 2.7.3 安装搭建过程,感兴趣的朋友跟随小编一起看看吧
    2021-11-11

最新评论