当前位置: 首页 > 编程笔记 >

java 发送带Basic Auth认证的http post请求实例代码

阳文轩
2023-03-14
本文向大家介绍java 发送带Basic Auth认证的http post请求实例代码,包括了java 发送带Basic Auth认证的http post请求实例代码的使用技巧和注意事项,需要的朋友参考一下

构造http header

private static final String URL = "url";
private static final String APP_KEY = "key";
private static final String SECRET_KEY = "secret";
/**
   * 构造Basic Auth认证头信息
   * 
   * @return
   */
  private String getHeader() {
    String auth = APP_KEY + ":" + SECRET_KEY;
    byte[] encodedAuth = Base64.encodeBase64(auth.getBytes(Charset.forName("US-ASCII")));
    String authHeader = "Basic " + new String(encodedAuth);
    return authHeader;
  }

老方式:

private void send1(JPushObject pushObject) {
    CloseableHttpClient client = HttpClients.createDefault();
    HttpPost post = new HttpPost(URL);
    System.out.println("要发送的数据" + JSON.toJSONString(pushObject));
    StringEntity myEntity = new StringEntity(JSON.toJSONString(pushObject), ContentType.APPLICATION_JSON);// 构造请求数据
    post.addHeader("Authorization", getHeader());
    post.setEntity(myEntity);// 设置请求体
    String responseContent = null; // 响应内容
    CloseableHttpResponse response = null;
    try {
      response = client.execute(post);
      System.out.println(JSON.toJSONString(response));
      if (response.getStatusLine().getStatusCode() == 200) {
        HttpEntity entity = response.getEntity();
        responseContent = EntityUtils.toString(entity, "UTF-8");
      }
      System.out.println("responseContent:" + responseContent);
    } catch (ClientProtocolException e) {
      e.printStackTrace();
    } catch (IOException e) {
      e.printStackTrace();
    } finally {
      try {
        if (response != null)
          response.close();

      } catch (IOException e) {
        e.printStackTrace();
      } finally {
        try {
          if (client != null)
            client.close();
        } catch (IOException e) {
          e.printStackTrace();
        }
      }
    }
  }

httpClient方式

public void send() throws ClientProtocolException, IOException {
    HttpClient httpClient = HttpClientBuilder.create().build();
    HttpPost httpPost = BaseHttpPost.buildHttpHeader(url);
    // 设置请求的参数
    List<NameValuePair> nvps = new ArrayList<NameValuePair>();
    nvps.add(new BasicNameValuePair("fromAccid", fromAccid));
    nvps.add(new BasicNameValuePair("toAccids", toAccids));
    nvps.add(new BasicNameValuePair("type", msgType));
    Map<String, Object> body = new HashMap<String, Object>();
    body.put("msg", msg);
    nvps.add(new BasicNameValuePair("body", JSON.toJSONString(body)));
    nvps.add(new BasicNameValuePair("pushcontent", msg));
    httpPost.setEntity(new UrlEncodedFormEntity(nvps, "utf-8"));
    // 执行请求
    HttpResponse response = httpClient.execute(httpPost);

    // 打印执行结果
    System.out.println(EntityUtils.toString(response.getEntity(), "utf-8"));
  }

以上这篇java 发送带Basic Auth认证的http post请求实例代码就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持小牛知识库。

 类似资料:
  • 本文向大家介绍Golang发送http GET请求的示例代码,包括了Golang发送http GET请求的示例代码的使用技巧和注意事项,需要的朋友参考一下 使用标准库http来实现 以上就是Golang发送http GET请求的示例代码的详细内容,更多关于Golang发送http GET请求的资料请关注呐喊教程其它相关文章!

  • 本文向大家介绍python 实现Requests发送带cookies的请求,包括了python 实现Requests发送带cookies的请求的使用技巧和注意事项,需要的朋友参考一下 一、缘 起 最近学习【悠悠课堂】的接口自动化教程,文中提到Requests发送带cookies请求的方法,笔者随之也将其用于手头实际项目中,大致如下 二、背 景 实际需求是监控平台侧下发消息有无异常,如有异常便触发报

  • 对传递的 URL 发出一个 POST 请求。 使用 XMLHttpRequest web api 对给定的url 发出一个 post 请求。 用 setRequestHeader 方法设置 HTTP 请求头的值。 通过调用给定的 callback 和 responseText 来处理 onload 事件。 通过运行提供的 err 函数,处理onerror事件。 省略第三个参数 data ,不发送数

  • 本文向大家介绍Java 发送http请求(get、post)的示例,包括了Java 发送http请求(get、post)的示例的使用技巧和注意事项,需要的朋友参考一下 1.情景展示   java发送get请求、post请求(form表单、json数据)至另一服务器;   可设置HTTP请求头部信息,可以接收服务器返回cookie信息,可以上传文件等;  2.代码实现 所需jar包:httpcore

  • 我需要一个java程序来生成以下请求。我正在使用Apache HttpClient Library,但仍然无法生成这样的请求: 这是我的python程序生成的,我编写了一个等效的java程序。但它扔403。 2012-09-10 15:12:05G信息:G2OAuth auth data=“3,0.0.0,0.0.0,1347289925,3223833979,crlakamai”2012-09-

  • 本文向大家介绍Android使用httpPost向服务器发送请求的方法,包括了Android使用httpPost向服务器发送请求的方法的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了Android使用httpPost向服务器发送请求的方法。分享给大家供大家参考,具体如下: 可以直接用的完整类。 希望本文所述对大家Android程序设计有所帮助。