国产片侵犯亲女视频播放_亚洲精品二区_在线免费国产视频_欧美精品一区二区三区在线_少妇久久久_在线观看av不卡

服務器之家:專注于服務器技術及軟件下載分享
分類導航

PHP教程|ASP.NET教程|Java教程|ASP教程|編程技術|正則表達式|C/C++|IOS|C#|Swift|Android|VB|R語言|JavaScript|易語言|vb.net|

服務器之家 - 編程語言 - Java教程 - Java使用HttpClient實現Post請求實例

Java使用HttpClient實現Post請求實例

2020-08-15 17:37mengrennwpu Java教程

本篇文章主要介紹了Java使用HttpClient實現Post請求實例,小編覺得挺不錯的,現在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧

基于項目需求,想要實現Post消息推送,故采用HttpClient組件進行實現,相關代碼如下(注:程序采用的httpclient和httpcore依賴包的版本為4.2.5):

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
import org.apache.http.Header;
import org.apache.http.HttpResponse;
import org.apache.http.HttpStatus;
import org.apache.http.client.HttpClient;
import org.apache.http.client.methods.HttpPost;
import org.apache.http.entity.StringEntity;
import org.apache.http.impl.client.DefaultHttpClient;
import org.apache.http.params.CoreConnectionPNames;
import java.util.UUID;
import net.sf.json.JSONObject;
import java.nio.charset.Charset;
 
public static boolean httpPostWithJson(JSONObject jsonObj,String url,String appId){
  boolean isSuccess = false;
  
  HttpPost post = null;
  try {
    HttpClient httpClient = new DefaultHttpClient();
 
    // 設置超時時間
    httpClient.getParams().setParameter(CoreConnectionPNames.CONNECTION_TIMEOUT, 2000);
    httpClient.getParams().setParameter(CoreConnectionPNames.SO_TIMEOUT, 2000);
      
    post = new HttpPost(url);
    // 構造消息頭
    post.setHeader("Content-type", "application/json; charset=utf-8");
    post.setHeader("Connection", "Close");
    String sessionId = getSessionId();
    post.setHeader("SessionId", sessionId);
    post.setHeader("appid", appid);
          
    // 構建消息實體
    StringEntity entity = new StringEntity(jsonObj.toString(), Charset.forName("UTF-8"));
    entity.setContentEncoding("UTF-8");
    // 發送Json格式的數據請求
    entity.setContentType("application/json");
    post.setEntity(entity);
      
    HttpResponse response = httpClient.execute(post);
      
    // 檢驗返回碼
    int statusCode = response.getStatusLine().getStatusCode();
    if(statusCode != HttpStatus.SC_OK){
      LogUtil.info("請求出錯: "+statusCode);
      isSuccess = false;
    }else{
      int retCode = 0;
      String sessendId = "";
      // 返回碼中包含retCode及會話Id
      for(Header header : response.getAllHeaders()){
        if(header.getName().equals("retcode")){
          retCode = Integer.parseInt(header.getValue());
        }
        if(header.getName().equals("SessionId")){
          sessendId = header.getValue();
        }
      }
      
      if(ErrorCodeHelper.IAS_SUCCESS != retCode ){
        // 日志打印
        LogUtil.info("error return code, sessionId: "sessendId"\t"+"retCode: "+retCode);
        isSuccess = false;
      }else{
        isSuccess = true;
      }
    }
  } catch (Exception e) {
    e.printStackTrace();
    isSuccess = false;
  }finally{
    if(post != null){
      try {
        post.releaseConnection();
        Thread.sleep(500);
      } catch (InterruptedException e) {
        e.printStackTrace();
      }
    }
  }
  return isSuccess;
}
 
// 構建唯一會話Id
public static String getSessionId(){
  UUID uuid = UUID.randomUUID();
  String str = uuid.toString();
  return str.substring(0, 8) + str.substring(9, 13) + str.substring(14, 18) + str.substring(19, 23) + str.substring(24);
}

Ps: 在使用Hadoop集群進行發送POST請求時,遇到"java.lang.NoSuchFieldError: INSTANCE"的問題,此類問題一般是"jar包沖突"的問題所致,但奇怪的是本地的pom.xml設置的依賴包中有該字段,相關的httpclient依賴包如下:  

?
1
2
3
4
5
6
7
8
9
10
<dependency>
  <groupId>org.apache.httpcomponents</groupId>
  <artifactId>httpclient</artifactId>
  <version>4.4.1</version>
</dependency>
<dependency>
  <groupId>org.apache.httpcomponents</groupId>
  <artifactId>httpcore</artifactId>
  <version>4.4.1</version>
</dependency>

隨后在網上查找了一翻,找到問題的緣由,原因在于Hadoop集群運行程序時,首先會加載自己相關目錄下的jar包,在自己目錄下如果未找到,才會加載程序運行時指定的jar包,隨查找了Hadoop集群中相關Jar包路徑,發現httpclient的相關依賴包為4.2.5,因此將pom.xml配置文件也更新為該版本,程序則運行通過.

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持服務器之家。

原文鏈接:http://www.cnblogs.com/mengrennwpu/p/6418114.html

延伸 · 閱讀

精彩推薦
Weibo Article 1 Weibo Article 2 Weibo Article 3 Weibo Article 4 Weibo Article 5 Weibo Article 6 Weibo Article 7 Weibo Article 8 Weibo Article 9 Weibo Article 10 Weibo Article 11 Weibo Article 12 Weibo Article 13 Weibo Article 14 Weibo Article 15 Weibo Article 16 Weibo Article 17 Weibo Article 18 Weibo Article 19 Weibo Article 20 Weibo Article 21 Weibo Article 22 Weibo Article 23 Weibo Article 24 Weibo Article 25 Weibo Article 26 Weibo Article 27 Weibo Article 28 Weibo Article 29 Weibo Article 30 Weibo Article 31 Weibo Article 32 Weibo Article 33 Weibo Article 34 Weibo Article 35 Weibo Article 36 Weibo Article 37 Weibo Article 38 Weibo Article 39 Weibo Article 40
主站蜘蛛池模板: 欧美成人一区二区 | 欧美a在线 | 操网| 午夜久久久久久久久久一区二区 | 日韩av资源网| 狠狠艹av | 久久er99热精品一区二区 | 日本一区二区三区在线视频 | 国产成人黄色 | a久久 | 99热国产精品 | 99色综合 | 国产高清自拍视频 | 欧洲精品码一区二区三区免费看 | 久久久久国产精品免费免费搜索 | 日日夜夜摸| 国产一区二区三区 | 欧美视频日韩视频 | 久久人人爽爽爽人久久久 | 91精品国产福利在线观看 | 在线国产视频 | 国产视频精品免费 | 国产xxxx成人精品免费视频频 | 欧美视频一区二区 | 日韩中文字幕一区二区高清99 | 国产999精品久久久久久麻豆 | 久久国产精品久久喷水 | 嫩草91| 在线a人片免费观看视频 | 亚洲成av人片一区二区梦乃 | 亚洲综合视频 | 国精产品99永久一区一区 | 日韩成人在线电影 | 一级做a爰片久久高潮 | 精彩视频一区二区三区 | 精品久久久久国产 | 国产免费成人 | 九九九亚洲 | 中文字幕在线三区 | 欧美电影在线观看 | 成人资源在线观看 |