分享web开发知识

注册/登录|最近发布|今日推荐

主页 IT知识网页技术软件开发前端开发代码编程运营维护技术分享教程案例
当前位置:首页 > 运营维护

HttpUtil

发布时间:2023-09-06 02:00责任编辑:沈小雨关键词:暂无标签

//包再百度云盘  httpcomponents-client-4.5.5

package com.baidu.httpuntil;

import java.io.BufferedReader;
import java.io.IOException; ?
import java.io.InputStreamReader; ?
import java.net.URI; ?
import java.util.ArrayList; ?
import java.util.Iterator; ?
import java.util.List; ?
import java.util.Map; ?
?
import org.apache.http.HttpEntity; ?
import org.apache.http.HttpResponse; ?
import org.apache.http.HttpStatus; ?
import org.apache.http.NameValuePair; ?
import org.apache.http.StatusLine; ?
import org.apache.http.client.HttpClient; ?
import org.apache.http.client.entity.UrlEncodedFormEntity; ?
import org.apache.http.client.methods.CloseableHttpResponse; ?
import org.apache.http.client.methods.HttpGet; ?
import org.apache.http.client.methods.HttpPost; ?
import org.apache.http.entity.StringEntity; ?
import org.apache.http.impl.client.CloseableHttpClient; ?
import org.apache.http.impl.client.DefaultHttpClient; ?
import org.apache.http.impl.client.HttpClients; ?
import org.apache.http.message.BasicNameValuePair; ?
import org.apache.http.protocol.HTTP; ?
import org.apache.http.util.EntityUtils; ?
//import org.apache.log4j.Logger; ?
?
/**
* HttpClient工具类
*/ ?
public class HttpUtil { ?
?????
???//private static Logger logger = Logger.getLogger(HttpUtil.class); ?
?
???/**
????* get请求
????* @return
????*/ ?
???public static String doGet(String url) { ?
???????try { ?
???????????HttpClient client = new DefaultHttpClient(); ?
???????????//发送get请求 ?
???????????HttpGet request = new HttpGet(url); ?
???????????HttpResponse response = client.execute(request); ?
??
???????????/**请求发送成功,并得到响应**/ ?
???????????if (response.getStatusLine().getStatusCode() == HttpStatus.SC_OK) { ?
???????????????/**读取服务器返回过来的json字符串数据**/ ?
???????????????String strResult = EntityUtils.toString(response.getEntity()); ?
?????????????????
???????????????return strResult; ?
???????????} ?
???????} ??
???????catch (IOException e) { ?
???????????e.printStackTrace(); ?
???????} ?
?????????
???????return null; ?
???} ?
?????
???/**
????* post请求(用于key-value格式的参数)
????* @param url
????* @param params
????* @return
????*/ ?
???public static String doPost(String url, Map params){ ?
?????????
???????BufferedReader in = null; ???
???????try { ???
???????????// 定义HttpClient ???
???????????HttpClient client = new DefaultHttpClient(); ???
???????????// 实例化HTTP方法 ???
???????????HttpPost request = new HttpPost(); ???
???????????request.setURI(new URI(url)); ?
?????????????
???????????//设置参数 ?
???????????List<NameValuePair> nvps = new ArrayList<NameValuePair>(); ??
???????????for (Iterator iter = params.keySet().iterator(); iter.hasNext();) { ?
???????????????String name = (String) iter.next(); ?
???????????????String value = String.valueOf(params.get(name)); ?
???????????????nvps.add(new BasicNameValuePair(name, value)); ?
?????????????????
???????????????//System.out.println(name +"-"+value); ?
???????????} ?
???????????request.setEntity(new UrlEncodedFormEntity(nvps,HTTP.UTF_8)); ?
?????????????
???????????HttpResponse response = client.execute(request); ???
???????????int code = response.getStatusLine().getStatusCode(); ?
???????????if(code == 200){ ???//请求成功 ?
???????????????in = new BufferedReader(new InputStreamReader(response.getEntity() ???
???????????????????????.getContent(),"utf-8")); ?
???????????????StringBuffer sb = new StringBuffer(""); ???
???????????????String line = ""; ???
???????????????String NL = System.getProperty("line.separator"); ???
???????????????while ((line = in.readLine()) != null) { ???
???????????????????sb.append(line + NL); ???
???????????????} ?
?????????????????
???????????????in.close(); ???
?????????????????
???????????????return sb.toString(); ?
???????????} ?
???????????else{ ??// ?
???????????????System.out.println("状态码:" + code); ?
???????????????return null; ?
???????????} ?
???????} ?
???????catch(Exception e){ ?
???????????e.printStackTrace(); ?
?????????????
???????????return null; ?
???????} ?
???} ?
?????
???/**
????* post请求(用于请求json格式的参数)
????* @param url
????* @param params
????* @return
????*/ ?
???public static String doPost(String url, String params) throws Exception { ?
?????????
???????CloseableHttpClient httpclient = HttpClients.createDefault(); ?
???????HttpPost httpPost = new HttpPost(url);// 创建httpPost ????
???????httpPost.setHeader("Accept", "application/json"); ??
???????httpPost.setHeader("Content-Type", "application/json"); ?
???????String charSet = "UTF-8"; ?
???????StringEntity entity = new StringEntity(params, charSet); ?
???????httpPost.setEntity(entity); ?????????
???????CloseableHttpResponse response = null; ?
?????????
???????try { ?
?????????????
???????????response = httpclient.execute(httpPost); ?
???????????StatusLine status = response.getStatusLine(); ?
???????????int state = status.getStatusCode(); ?
???????????if (state == HttpStatus.SC_OK) { ?
???????????????HttpEntity responseEntity = response.getEntity(); ?
???????????????String jsonString = EntityUtils.toString(responseEntity); ?
???????????????return jsonString; ?
???????????} ?
???????????else{ ?
????????????????//logger.error("请求返回:"+state+"("+url+")");
????????????????System.out.println("请求返回:"+state+"("+url+")");
???????????} ?
???????} ?
???????finally { ?
???????????if (response != null) { ?
???????????????try { ?
???????????????????response.close(); ?
???????????????} catch (IOException e) { ?
???????????????????e.printStackTrace(); ?
???????????????} ?
???????????} ?
???????????try { ?
???????????????httpclient.close(); ?
???????????} catch (IOException e) { ?
???????????????e.printStackTrace(); ?
???????????} ?
???????} ?
???????return null; ?
???} ?
?????
} ?

HttpUtil

原文地址:https://www.cnblogs.com/sss-justdDoIt/p/9196542.html

知识推荐

我的编程学习网——分享web前端后端开发技术知识。 垃圾信息处理邮箱 tousu563@163.com 网站地图
icp备案号 闽ICP备2023006418号-8 不良信息举报平台 互联网安全管理备案 Copyright 2023 www.wodecom.cn All Rights Reserved