httpclient調用京東萬象數字營銷頻道新聞api實例

本人在使用httpclient做練習的時候,偶然發現京東萬象上有一個免費的頻道新聞調用api,故嘗試之,因爲官網文檔只給出的java代碼都是封裝後的,所以我自己寫了一遍,又寫了一些註釋。分享代碼,供大家參考。

下面是具體的調用代碼:

public void testDemo() throws JSONException, UnsupportedOperationException, IOException {
		String url = "https://way.jd.com/jisuapi/get";//設置接口地址
		//設置參數
		JSONObject jsonObject = new JSONObject();
		jsonObject.put("channel", channel[1]);
		jsonObject.put("num", "5");
		jsonObject.put("start", "0");
		jsonObject.put("appkey", APPKEY);
		String uri = changeJsonToArguments(jsonObject);//獲取uri
		CloseableHttpClient httpClient = HttpClients.createDefault();//創建並實例化客戶端
		HttpGet get = new HttpGet(url+uri);//創建並實例化get接口
		HttpResponse response = httpClient.execute(get);//獲取響應
		output(parseResponse(response).replaceAll(",", LINE));//輸出相應實體
		httpClient.close();//關閉客戶端
	}

下面是解析響應實體的封裝方法:

	public String parseResponse(HttpResponse response) throws UnsupportedOperationException, IOException {
		InputStream inputStream = response.getEntity().getContent();//創建並實例化字節輸入流,使用響應實體作爲輸入流
	    InputStreamReader reader = new InputStreamReader(inputStream, "utf-8");//創建並實例化字符輸入流,並設置編碼格式
	    StringBuffer buffer = new StringBuffer(" ");//創建並實例化stringbuffer,存放響應信息
	    char[] buff = new char[512];//創建並實例化字符數組
	    int length = 0;//聲明變量length,表示讀取長度
	    while ((length = reader.read(buff)) != -1) {//循環讀取字符輸入流
	       String x = new String(buff, 0, length);//獲取讀取到的有效內容
	       buffer.append(x);//將讀取到的內容添加到stringbuffer中
	    }
	    return buffer.toString();
	}

下面是獲取到的信息:

{"code":"10000"
"charge":false
"msg":"查詢成功"
"result":{"msg":"ok"
"result":{"num":"5"
"channel":"新聞"
"list":[{"src":"澎湃新聞"
"weburl":"http://news.sina.com.cn/c/nd/2017-08-26/doc-ifykiqfe1818402.shtml"
"time":"2017-08-26 17:08"
"pic":""
"title":"北京市食藥監局:海底撈限期一個月實現後廚公開"
"category":"news"
"content":"<p class=\"art_p\">原標題:北京市食藥監局:海底撈北京所有門店限期一個月內後廚公開</p><p class=\"art_p\">@北京青年報 官方微博8月26日消息,2017年8月25日,有媒體反映本市“海底撈”勁鬆店、太陽宮店存在經營場所衛生條件存在問題等違規行爲。北京市食藥監局立即對上述兩家門店進行立案調查,並對四川海底撈餐飲股份管理有限公司位於北京地區的1家中央廚房和26家門店開展全面檢查,第一時間責任約談該公司北京地區負責人。</p><p class=\"art_p\">今天下午,北京市食藥監局再次約談“海底撈”北京公司,將本次對“海底撈”全面檢查發現的問題進行通報,問題包括消毒記錄不全、餐飲具混放、未戴工作帽及口罩等,要求“海底撈”總部落實食品安全主體責任,全面進行限期整改,並按照《關於海底撈火鍋北京勁鬆店、北京太陽宮店事件處理通報》中所承諾,主動向社會公開整改情況,主動接受社會監督。</p><p class=\"art_p\">同時,北京市食藥監局表示,將把上述檢查發現問題的門店記入北京市企業信用信息平臺,並在第二年度餐飲服務單位量化分級中實施減分降級。</p><p class=\"art_p\">此外,要求“海底撈”總部按照承諾對北京各門店實現後廚公開、信息化、可視化,限期一個月完成,同時北京地區負責人能夠主動對各門店進行隨時檢查。</p>"
"url":"http://news.sina.cn/gn/2017-08-26/detail-ifykiqfe1818402.d.html?cre=tianyi&mod=wnews&loc=9&r=25&doct=0&rfunc=100&tj=none&tr=25"}]}
"status":"0"}}


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章