> Java > java지도 시간 > Java는 스트림을 얻기 위해 새로운 HttpPost(URL)과 새로운 URL(shixun_ip)을 작동합니다.

Java는 스트림을 얻기 위해 새로운 HttpPost(URL)과 새로운 URL(shixun_ip)을 작동합니다.

(*-*)浩
풀어 주다: 2019-10-29 15:17:03
앞으로
3341명이 탐색했습니다.

Java는 스트림을 얻기 위해 새로운 HttpPost(URL)과 새로운 URL(shixun_ip)을 작동합니다.

HttpClient:

private static HttpClient httpClient;
	static {
		if (httpClient == null) {
			HttpParams params = new BasicHttpParams();
			// 设置一些基本参数
			HttpProtocolParams.setVersion(params, HttpVersion.HTTP_1_1);
			// 超时设置 /* 从连接池中取连接的超时时间 */
			ConnManagerParams.setTimeout(params, 1000);
			/* 连接超时 */
			HttpConnectionParams.setConnectionTimeout(params, 2000);
			/* 请求超时 */
			HttpConnectionParams.setSoTimeout(params, 4000);
			SchemeRegistry schReg = new SchemeRegistry();
			schReg.register(new Scheme("http", PlainSocketFactory
					.getSocketFactory(), 80));
			schReg.register(new Scheme("https", SSLSocketFactory
					.getSocketFactory(), 443));
			// 使用线程安全的连接管理来创建HttpClient
			ClientConnectionManager conMgr = new ThreadSafeClientConnManager(
					params, schReg);
			httpClient = new DefaultHttpClient(conMgr, params);
		}
	}
@SuppressWarnings("unchecked")
	private <T> T getJsonObjectFromUrl(String urlStr,
			List<NameValuePair> params, Class<T> className) throws Exception{
		T object = null;
 
		InputStream in = null;
		try {
			HttpPost httpPost = new HttpPost(urlStr);
 
			if (params != null) {
				//				List<NameValuePair> nvps = new ArrayList<NameValuePair>();
				//				for (Entry<String, String> entry : params.entrySet()) {
				//					nvps.add(new BasicNameValuePair(entry.getKey(), entry
				//							.getValue()));
				//				}
				httpPost.setEntity(new UrlEncodedFormEntity(params, HTTP.UTF_8));
			}
			HttpResponse response = httpClient.execute(httpPost);
			HttpEntity entity = response.getEntity();
 
			if(entity!=null){
				in= entity.getContent(); //之前没使用这个造成了大量异常抛出
			}
 
			/*String s = EntityUtils.toString(in, "UTF-8");
			if (entity != null) {
				EntityUtils.consume(entity);
			}*/
 
			String s = inputStream2String(in,"UTF-8");
			JsonResult jsonResult = (JsonResult)JSONObject.parseObject(s, JsonResult.class);
			if(jsonResult.getCode() == 200){
				Object obj = jsonResult.getData();
 
				if(obj != null){
					if(className.isInstance(obj)){
						object = (T)(obj);
					}
					else if(obj instanceof JSONObject){
						object= JSONObject.parseObject(obj.toString(), className);
					}					
				}
			}else{
				throw new Exception(jsonResult.getMsg());
			}
 
			if(in!=null){
				in.close();
			}
 
		} catch (Exception e) {
			throw e;
		}
 
		return object;
	}
로그인 후 복사

새 URL(): #🎜 🎜#

try{
					
<span style="white-space:pre">					</span>//省略
					URL shixun = new URL(url);
					InputStream in = shixun.openStream();
 
					
					long end = System.currentTimeMillis();  
					if((end-start)<=5000){  //5s内不响应就跳过
						
						String ret = cn.com.jsoft.jframe.utils.StringUtils.toString(in, "utf-8");
						JSONObject obj = JSONObject.fromObject(ret);
						if(obj!=null&&obj.getJSONObject("info")!=null&&obj.containsKey("info")==true){
							JSONObject info = obj.getJSONObject("info");
							JSONArray data = info.getJSONArray("data");
							if(data!=null&&data.size()>0){
								for(int i=0;i<data.size();i++){
									JSONObject entry = data.getJSONObject(i);
									
								}
							}
						}
						in.close();
					}
 
				}catch (Exception e) {
					e.printStackTrace();
				}
로그인 후 복사

java입력 스트림을 문자열로 변환

public static String inputStream2String(InputStream is, String charset) {
		ByteArrayOutputStream baos = null;
 
		try {
			baos = new ByteArrayOutputStream();
			int i = -1;
			while ((i = is.read()) != -1) {
				baos.write(i);
			}
			return baos.toString(charset);
		} catch (IOException e) {
			e.printStackTrace();
			logger.error("FileWRUtil.inputStream2String(InputStream is, String charset) occur error:"
					+ e.getMessage());
		} finally {
			if (null != baos) {
				try {
					baos.close();
				} catch (IOException e) {
					e.printStackTrace();
					logger.error("FileWRUtil.inputStream2String(InputStream is, String charset) occur error:"
							+ e.getMessage());
				}
				baos = null;
			}
		}
 
		return null;
	}
로그인 후 복사

위 내용은 Java는 스트림을 얻기 위해 새로운 HttpPost(URL)과 새로운 URL(shixun_ip)을 작동합니다.의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

관련 라벨:
원천:csdn.net
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿