软件编程
位置:首页>> 软件编程>> java编程>> java 发送带Basic Auth认证的http post请求实例代码

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

作者:jingxian  发布时间:2021-11-03 06:21:20 

标签:java,发送,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"));
 }
0
投稿

猜你喜欢

手机版 软件编程 asp之家 www.aspxhome.com