Java訪問接口

		// 請求體
		Map<String, String> requestBody = new HashMap<String, String>();
		requestBody.put("sentpair", rdssList.toString());
		String result = "";
		// POST請求
		HttpPost requestMethod = new HttpPost(
				url地址);
		// 添加默認請求頭
		requestMethod.addHeader("Connection", "keep-alive");
		requestMethod.addHeader("Pragma", "no-cache");
		requestMethod
				.addHeader(
						"Accept",
						"text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8");
		requestMethod.addHeader("Accept-Encoding", "gzip, deflate");
		requestMethod.addHeader("Accept-Language",
				"en-US,en;q=0.9,zh-CN;q=0.8,zh;q=0.7");
		// 封裝請求體
		Iterator<Map.Entry<String, String>> iterator = requestBody.entrySet()
				.iterator();
		List<BasicNameValuePair> nameValuePairList = new ArrayList<BasicNameValuePair>();
		while (iterator.hasNext()) {
			Map.Entry<String, String> entry = iterator.next();
			String name = entry.getKey();
			String value = entry.getValue();
			BasicNameValuePair nameValuePair = new BasicNameValuePair(name,
					value);
			nameValuePairList.add(nameValuePair);
		}
 
		try {
			UrlEncodedFormEntity entity = new UrlEncodedFormEntity(
					nameValuePairList, "UTF-8");
			requestMethod.setEntity(entity);
			InputStream is = null;
			InputStreamReader isr = null;
			BufferedReader reader = null;
			RequestConfig config = RequestConfig.custom()
					.setConnectTimeout(300000)
					.setConnectionRequestTimeout(300000)
					.setSocketTimeout(300000).build();
			CloseableHttpClient httpClient = HttpClientBuilder.create()
					.setDefaultRequestConfig(config).build();
 
			CloseableHttpResponse response = null;
			StringBuffer stringBuffer = new StringBuffer();
			try {
				try {
					response = httpClient.execute(requestMethod);
				} catch (ClientProtocolException e1) {
					// TODO Auto-generated catch block
					e1.printStackTrace();
				} catch (IOException e1) {
					// TODO Auto-generated catch block
					e1.printStackTrace();
				}
				try {
					is = response.getEntity().getContent();
				} catch (IOException e1) {
					// TODO Auto-generated catch block
					e1.printStackTrace();
				}
				isr = new InputStreamReader(is);
				reader = new BufferedReader(isr);
				String inputLine = StringUtils.EMPTY;
				try {
					while (null != (inputLine = reader.readLine())) {
						stringBuffer.append(inputLine);
					}
				} catch (IOException e) {
					// TODO Auto-generated catch block
					e.printStackTrace();
				}
			} finally {
				IOUtils.closeQuietly(reader);
				IOUtils.closeQuietly(httpClient);
				IOUtils.closeQuietly(isr);
				IOUtils.closeQuietly(response);
			}
			result = stringBuffer.toString();
			resultJson.put("result", result);
		} catch (UnsupportedEncodingException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}

 

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