java操作new HttpPost(URL)和 new URL(shixun_ip) 获取流

互联网 19-10-29

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; 	}

new 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将InputStream转为String

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操作new HttpPost(URL)和 new URL(shixun_ip) 获取流的详细内容,更多内容请关注技术你好其它相关文章!

来源链接:
免责声明:
1.资讯内容不构成投资建议,投资者应独立决策并自行承担风险
2.本文版权归属原作所有,仅代表作者本人观点,不代表本站的观点或立场
标签: java
上一篇:php获取远程图片并下载保存到本地的方法分析 下一篇:Java HashMap透析

相关资讯