httpUtil

url 解析工具
package org.iam.commpoment.timertask.demo;

import net.sf.json.JSONObject;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.apache.http.HttpResponse;
import org.apache.http.client.CookieStore;
import org.apache.http.client.HttpClient;
import org.apache.http.client.config.RequestConfig;
import org.apache.http.client.entity.UrlEncodedFormEntity;
import org.apache.http.client.methods.HttpPost;
import org.apache.http.cookie.Cookie;
import org.apache.http.impl.client.BasicCookieStore;
import org.apache.http.impl.client.CloseableHttpClient;
import org.apache.http.impl.client.HttpClientBuilder;
import org.apache.http.impl.client.HttpClients;
import org.apache.http.message.BasicNameValuePair;
import org.apache.http.util.EntityUtils;

import java.io.*;
import java.net.HttpURLConnection;
import java.net.URL;
import java.util.ArrayList;
import java.util.List;
import java.util.Map;

public class HttpUtil {

	private static Log log=LogFactory.getLog(HttpUtil.class);

	/**
	 * 采用POST方式进行
	 * @param paramStr
	 * @return
	 */
	public static String POST_API(String urlStr,String paramStr,Map<String,String> headers) {
		log.debug(urlStr+","+paramStr+","+headers);
		BufferedReader br=null;
		OutputStream os=null;
		StringBuffer strBuf=new StringBuffer();
		try {
			URL url=new URL(urlStr);
			HttpURLConnection con=(HttpURLConnection) url.openConnection();
			con.setReadTimeout(5000);//5秒过期
			con.setDoOutput(true);
			con.setDoInput(true);
			con.setRequestMethod("POST");
			for (Map.Entry<String,String> entry : headers.entrySet()) {
				con.setRequestProperty(entry.getKey(), entry.getValue());
			}
			os=con.getOutputStream();

			os.write(paramStr.getBytes("UTF-8"));
			if(con.getResponseCode()==200){
				br=new BufferedReader(new InputStreamReader(con.getInputStream(),"UTF-8"));
				String line;
				while((line=br.readLine())!=null){
					strBuf.append(line);
				}
			}
		} catch (Exception e) {
			log.error("post_api error",e);
		} finally{
			if(os!=null){
				try{os.close();}catch(Exception e){}
			}
			if(br!=null){
				try{br.close();}catch(Exception e){}
			}
		}
		return strBuf.toString();
	}

    public static String GET_API(String urlStr,Map<String,String> headers) {
    	log.debug(urlStr+","+headers);
		BufferedReader br=null;
		OutputStream os=null;
		StringBuffer strBuf=new StringBuffer();
		try {
			URL url=new URL(urlStr);
			HttpURLConnection con=(HttpURLConnection) url.openConnection();
			con.setReadTimeout(5000);//5秒过期
			for (Map.Entry<String,String> entry : headers.entrySet()) {
				con.setRequestProperty(entry.getKey(), entry.getValue());
			}
			br=new BufferedReader(new InputStreamReader(con.getInputStream(),"UTF-8"));
			String line;
			while((line=br.readLine())!=null){
				strBuf.append(line);
			}
		} catch (Exception e) {
			log.error("get_api error",e);
		} finally{
			if(os!=null){
				try{os.close();}catch(Exception e){}
			}
			if(br!=null){
				try{br.close();}catch(Exception e){}
			}
		}
		return strBuf.toString();
    }

    public static String post(String requestUrl, String accessToken, String params)
            throws Exception {
        String contentType = "application/x-www-form-urlencoded";
        return HttpUtil.post(requestUrl, accessToken, contentType, params);
    }

    public static String post(String requestUrl, String accessToken, String contentType, String params)
            throws Exception {
        String encoding = "UTF-8";
        if (requestUrl.contains("nlp")) {
            encoding = "GBK";
        }
        return HttpUtil.post(requestUrl, accessToken, contentType, params, encoding);
    }

    public static String post(String requestUrl, String accessToken, String contentType, String params, String encoding)
            throws Exception {
        String url = requestUrl + "?access_token=" + accessToken;
        return HttpUtil.postGeneralUrl(url, contentType, params, encoding);
    }

    public static String postGeneralUrl(String generalUrl, String contentType, String params, String encoding)
            throws Exception {
        URL url = new URL(generalUrl);
        // 打开和URL之间的连接
        HttpURLConnection connection = (HttpURLConnection) url.openConnection();
        connection.setRequestMethod("POST");
        // 设置通用的请求属性
        connection.setRequestProperty("Content-Type", contentType);
        connection.setRequestProperty("Connection", "Keep-Alive");
        connection.setUseCaches(false);
        connection.setDoOutput(true);
        connection.setDoInput(true);

        // 得到请求的输出流对象
        DataOutputStream out = new DataOutputStream(connection.getOutputStream());
        out.write(params.getBytes(encoding));
        out.flush();
        out.close();

        // 建立实际的连接
        connection.connect();
        // 获取所有响应头字段
        Map<String, List<String>> headers = connection.getHeaderFields();
        // 遍历所有的响应头字段
        for (String key : headers.keySet()) {
            //System.err.println(key + "--->" + headers.get(key));
        }
        // 定义 BufferedReader输入流来读取URL的响应
        BufferedReader in = null;
        in = new BufferedReader(
                new InputStreamReader(connection.getInputStream(), encoding));
        String result = "";
        String getLine;
        while ((getLine = in.readLine()) != null) {
            result += getLine;
        }
        in.close();
       // System.err.println("result:" + result);
        return result;
    }

	public static String postGeneralUrl(String generalUrl, String contentType,
										Map<String, Object> params, String encoding) {
		String content = null;
		try {
			HttpPost post = new HttpPost(generalUrl);
			RequestConfig requestConfig = RequestConfig.custom()
					.setSocketTimeout(5000).setConnectTimeout(5000).build();
			post.setConfig(requestConfig);
			CloseableHttpClient httpClient = HttpClients.createDefault();
			List<BasicNameValuePair> list = new ArrayList<BasicNameValuePair>();
			for (Map.Entry<String, Object> val : params.entrySet())
				list.add(new BasicNameValuePair(val.getKey(), String
						.valueOf(val.getValue())));
			post.setEntity(new UrlEncodedFormEntity(list, "UTF-8"));
			HttpResponse response = httpClient.execute(post);
			content = EntityUtils.toString(response.getEntity(), "UTF-8");
		} catch (Exception e) {
			e.printStackTrace();
			return "";
		}
		return content;
	}
	public static JSONObject doPost(String path) throws Exception {
		Thread.sleep(1000 * 1);
		String content;
		JSONObject json = new JSONObject();
		HttpClient http = null;
		CookieStore httpCookieStore = new BasicCookieStore();
		http = HttpClientBuilder.create().setDefaultCookieStore(httpCookieStore).build();
		// DefaultHttpClient client = new DefaultHttpClient();
		//准备post请求 定义 一个httpget实现
		HttpPost post = new HttpPost(path);
		//执行一个Post请求
		HttpResponse response = http.execute(post);
		//获取服务器返回的状态码
		int code = response.getStatusLine().getStatusCode();
		if (code == 200) {
			//获取服务器返回的数据   以流的形式返回
			InputStream inputStream = response.getEntity().getContent();
			//把流转换成字符串
			List<Cookie> cookies = httpCookieStore.getCookies();
			json.put("cookie", cookies.get(0).getValue());

		} else {
			json.put("msg", "false");
		}
		return json;
	}
}

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
大学生参加学科竞赛有着诸多好处,不仅有助于个人综合素质的提升,还能为未来职业发展奠定良好基础。以下是一些分析: 首先,学科竞赛是提高专业知识和技能水平的有效途径。通过参与竞赛,学生不仅能够深入学习相关专业知识,还能够接触到最新的科研成果和技术发展趋势。这有助于拓展学生的学科视野,使其对专业领域有更深刻的理解。在竞赛过程中,学生通常需要解决实际问题,这锻炼了他们独立思考和解决问题的能力。 其次,学科竞赛培养了学生的团队合作精神。许多竞赛项目需要团队协作来完成,这促使学生学会有效地与他人合作、协调分工。在团队合作中,学生们能够学到如何有效沟通、共同制定目标和分工合作,这对于日后进入职场具有重要意义。 此外,学科竞赛是提高学生综合能力的一种途径。竞赛项目通常会涉及到理论知识、实际操作和创新思维等多个方面,要求参赛者具备全面的素质。在竞赛过程中,学生不仅需要展现自己的专业知识,还需要具备创新意识和解决问题的能力。这种全面的综合能力培养对于未来从事各类职业都具有积极作用。 此外,学科竞赛可以为学生提供展示自我、树立信心的机会。通过比赛的舞台,学生有机会展现自己在专业领域的优势,得到他人的认可和赞誉。这对于培养学生的自信心和自我价值感非常重要,有助于他们更加积极主动地投入学习和未来的职业生涯。 最后,学科竞赛对于个人职业发展具有积极的助推作用。在竞赛中脱颖而出的学生通常能够引起企业、研究机构等用人单位的关注。获得竞赛奖项不仅可以作为个人履历的亮点,还可以为进入理想的工作岗位提供有力的支持。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值