Http 四种请求访问代码 HttpGet HttpPost HttpPut HttpDelete .
String url = "http://www.baidu.com";//将要访问的url字符串放入HttpPost中HttpPost httpPost= new HttpPost(url);//请求头 放置一些修改http请求头和cookiehttpPost.setHeader("Accept", "application/json");......//如果是HttpPost或者HttpPut请求需要在请求里加参数,//而HttpGet或者HttpDelete请求则可以直接拼接到url字符串后面//向HttpPost中加入参数List<NameValuePair> values = new ArrayList<NameValuePair>();values.add(new NameValuePair("id", "1"));values.add(new NameValuePair("name", "xiaohong"));httpPost.setEntity(new UrlEncodeFormEntity(values, HTTP.UTF_8)); //进行转码//实例HttpClient 并执行带有HttpPost的方法,返回HttpResponse 响应,再进行操作HttpClient httpClient = new DefaultHttpClient();HttpResponse httpResponse = httpClient.execute(httpPost);int statusCode = httpResponse.getStatusLine().getStatusCode(); //返回状态码 ,用来进行识别或者判断访问结果if(statusCode == 200){Instream in = httpResponse.getEntity().getContent(); //要处理该数据流是否为GZIP流}示例代码如下:package cn.dratek.haoyingsheng.manager.client;import cn.dratek.haoyingsheng.manager.util.ResourceUtil;
import net.dratek.browser.http.Cookie;
import net.dratek.browser.http.CookieManager;
import net.dratek.browser.http.URL;
import org.apache.http.*;
import org.apache.http.client.entity.UrlEncodedFormEntity;
import org.apache.http.client.methods.HttpDelete;
import org.apache.http.client.methods.HttpGet;
import org.apache.http.client.methods.HttpPost;
import org.apache.http.client.methods.HttpPut;
import org.apache.http.impl.client.DefaultHttpClient;
import org.apache.http.protocol.HTTP;
import java.io.IOException;
import java.io.InputStream;
import java.io.UnsupportedEncodingException;
import java.util.List;public class HttpNetClient {/*** 所有get 请求底层调用方法** @param url 请求url* @return byte[] response data*/public static byte[] doGet(String url) {InputStream in;byte[] bre = null;HttpResponse response;CookieManager manager = CookieManager.getInstance();if (url != null && url.length() != 0) {URL myURL = URL.parseString(url);Cookie[] cookies = manager.getCookies(myURL);HttpGet httpGet = new HttpGet(url);if (cookies != null && cookies.length > 0) {StringBuilder sb = new StringBuilder();for (Cookie ck : cookies) {sb.append(ck.name).append('=').append(ck.value).append(";");}String sck = sb.toString();if (sck.length() > 0) {httpGet.setHeader("Cookie", sck);}//if}//ifhttpGet.setHeader("Accept-Encoding", "gzip, deflate");httpGet.setHeader("Accept-Language", "zh-CN");httpGet.setHeader("Accept", "application/json, application/xml, text/html, text/*, image/*, */*");try {response = new DefaultHttpClient().execute(httpGet);if (response != null) {int statusCode = response.getStatusLine().getStatusCode();if (statusCode == 200 || statusCode == 403) {Header[] headers = response.getHeaders("Set-Cookie");if (headers != null && headers.length > 0) {for (Header header : headers) {manager.setCookie(myURL, header.getValue());}//for}//ifin = response.getEntity().getContent();if (in != null) {bre = ResourceUtil.readStream(in);}//if}//if}//if} //trycatch (IOException e) {e.printStackTrace();}}return bre;}/*** 所有Post 请求底层调用方法** @param url 请求url* @param values 传递的参数* @return byte[] 返回数据 or null*/public static byte[] doPost(String url, List<NameValuePair> values) {System.out.println("url = " + url);byte[] bytes = null;HttpResponse response;InputStream inputStream = null;CookieManager manager = CookieManager.getInstance();if (url != null && url.length() != 0) {URL myurl = URL.parseString(url);Cookie[] cookies = manager.getCookies(myurl);HttpPost post = new HttpPost(url);if (cookies != null && cookies.length > 0) {StringBuilder sb = new StringBuilder();for (Cookie ck : cookies) {sb.append(ck.name).append('=').append(ck.value).append(";");}//forString sck = sb.toString();if (sck.length() > 0) {post.setHeader("Cookie", sck);}//if}//ifpost.setHeader("Accept-Encoding", "gzip, deflate");post.setHeader("Accept-Language", "zh-CN");post.setHeader("Accept", "application/json, application/xml, text/html, text/*, image/*, */*");DefaultHttpClient client = new DefaultHttpClient();try {if (values != null && values.size() > 0) {post.setEntity(new UrlEncodedFormEntity(values, HTTP.UTF_8));}response = client.execute(post);if (response != null) {int statusCode = response.getStatusLine().getStatusCode();if (statusCode == 200 || statusCode == 403) {Header[] headers = response.getHeaders("Set-Cookie");if (headers != null && headers.length > 0) {for (Header header : headers) {manager.setCookie(myurl, header.getValue());}//for}//ifinputStream = response.getEntity().getContent();}//if}//if}//trycatch (UnsupportedEncodingException e) {e.printStackTrace();} catch (IOException e) {e.printStackTrace();}if (inputStream != null) {bytes = ResourceUtil.readStream(inputStream);}}return bytes;}/*** PUT基础请求** @param url 请求地址* @param values 提交参数* @return byte[] 请求成功后的结果*/public static byte[] doPut(String url, List<NameValuePair> values) {byte[] ret = null;CookieManager manager = CookieManager.getInstance();if (url != null && url.length() > 0) {URL myUrl = URL.parseString(url);StringBuilder sb = new StringBuilder();Cookie[] cookies = manager.getCookies(myUrl);if (cookies != null && cookies.length > 0) {for (Cookie cookie : cookies) {sb.append(cookie.name).append("=").append(cookie.value).append(";");}//for}//ifHttpPut request = new HttpPut(url);String sck = sb.toString();if (sck.length() > 0) {request.setHeader("Cookie", sck);}request.setHeader("Accept-Encoding", "gzip, deflate");request.setHeader("Accept-Language", "zh-CN");request.setHeader("Accept", "application/json, application/xml, text/html, text/*, image/*, */*");DefaultHttpClient client = new DefaultHttpClient();if (values != null && values.size() > 0) {try {UrlEncodedFormEntity entity;entity = new UrlEncodedFormEntity(values);request.setEntity(entity);} catch (UnsupportedEncodingException e) {e.printStackTrace();}}//iftry {HttpResponse response = client.execute(request);if (response != null) {StatusLine statusLine = response.getStatusLine();int statusCode = statusLine.getStatusCode();if (statusCode == 200 || statusCode == 403) {Header[] headers = response.getHeaders("Set-Cookie");if (headers != null && headers.length > 0) {for (Header header : headers) {manager.setCookie(myUrl, header.getValue());}}//ifHttpEntity entity = response.getEntity();InputStream inputStream = entity.getContent();if (inputStream != null) {ret = ResourceUtil.readStream(inputStream);inputStream.close();}//if}//if}//if} //trycatch (IOException e) {e.printStackTrace();}}//ifreturn ret;}/*** Delete基础请求** @param url 请求地址* @return 请求成功后的结果*/public static byte[] doDelete(String url) {InputStream in;byte[] bre = null;HttpResponse response;CookieManager manager = CookieManager.getInstance();if (url != null && url.length() != 0) {URL myurl = URL.parseString(url);Cookie[] cookies = manager.getCookies(myurl);HttpDelete delete = new HttpDelete(url);if (cookies != null && cookies.length > 0) {StringBuilder sb = new StringBuilder();for (Cookie ck : cookies) {sb.append(ck.name).append('=').append(ck.value).append(";");}//forString sck = sb.toString();if (sck.length() > 0) {delete.setHeader("Cookie", sck);}}//fordelete.setHeader("Accept-Encoding", "gzip, deflate");delete.setHeader("Accept-Language", "zh-CN");delete.setHeader("Accept", "application/json, application/xml, text/html, text/*, image/*, */*");try {response = new DefaultHttpClient().execute(delete);if (response != null) {int statusCode = response.getStatusLine().getStatusCode();if (statusCode == 200 || statusCode == 403) {Header[] headers = response.getHeaders("Set-Cookie");if (headers != null && headers.length > 0) {for (Header header : headers) {manager.setCookie(myurl, header.getValue());}//for}//ifin = response.getEntity().getContent();if (in != null) {bre = ResourceUtil.readStream(in);}}//if}//if} catch (IOException e) {e.printStackTrace();}}return bre;}}
Http 四种请求访问代码 HttpGet HttpPost HttpPut HttpDelete .相关推荐
- Http 四种请求访问代码 HttpGet HttpPost HttpPut HttpDelete
逻辑: String url = "http://www.baidu.com"; //将要访问的url字符串放入HttpPost中 HttpPost httpPost = new ...
- postman的四种请求:post,get,put,delete
四种请求的详解 前言 一.get请求 二.post请求 三.put请求 四.delete请求 前言 之前在做测试的实习的时候用过postman做接口测试,但是以前懵懵懂懂,觉得那是开发才相关的东西,所 ...
- 接口测试中模拟post四种请求数据
转自 作者:隋胖胖LoveFat 链接:https://www.jianshu.com/p/3b6d7aa2043a 来源:简书 一.背景介绍 在日常的接口测试工作中,模拟接口请求通常有两种方法,fi ...
- java rest风格传参_SpringMVC的REST风格的四种请求方式总结
一. 在HTTP 协议里面,四个表示操作方式的动词:GET.POST.PUT.DELETE. 它们分别对应四种基本操作: 1.GET ====== 获 取资源 2.POST ======新建资源 3. ...
- java的rest教程_[Java教程]SpringMVC的REST风格的四种请求方式
[Java教程]SpringMVC的REST风格的四种请求方式 0 2017-08-28 22:00:25 一. 在HTTP 协议里面,四个表示操作方式的动词:GET.POST.PUT.DELETE. ...
- Flask框架中的四种请求勾子
在客户端和服务器交互的过程中,有些准备工作或扫尾工作需要处理,比如: 在请求开始时,建立数据库连接:在请求开始时,根据需求进行权限校验:在请求结束时,指定数据的交互格式: 为了让每个视图函数避免编写重 ...
- 硬核!Python 四种变量的代码对象和反汇编分析
作者 | 大奎 整理 | 阳哥 来源丨Python数据之道 在Python基础的学习过程中,对变量和参数的理解有助于我们从更基础层面了解Python语言的运行.在这个过程中,还是有不少冷门和细节的地方 ...
- axios队列 vue_(十三 )Vue 封装axios(四种请求)及相关介绍
Vue 封装axios(四种请求)及相关介绍 首先axios是基于promise的http库 promise是什么? 1.主要用于异步计算 2.可以将异步操作队列化,按照期望的顺序执行,返回符合预期的 ...
- Java的四种包访问权限
Java的四种包访问权限如下: private default protected public 同一类 √ √ √ √ 同一包 √ √ √ 不同包的子类 √ √ 不同包的非子类 √
最新文章
- git 忽略指定文件夹的上传
- C++中map的用法
- 中国教育电视台的iEnglish英语风采秀 为我们揭示了“双减”的本质目标
- 百度智能云发布时空数据管理平台,打造一体化数据中台
- Python小游戏(小蜜蜂)
- java.lang.illegalagr_spring – java.lang.IllegalArgumentException:环境不能为null
- How to install JDK on Linux
- influxdb java api使用_java使用influxDB数据库的详细源码
- golang使用Nsq
- Asp.net can do Native Code also can do it(updated)
- js 时间戮转换为日期格式
- 【idea】两台电脑协同办公
- 酒香还怕巷子深?如何打造一个优秀的GitHub开源项目
- 做不了爱人,我们做什么
- 【电商】电商后台设计—购物车
- java服务器开发心得
- Android 线程池的使用
- 然而马云并没有收购车投网
- Python3的安装步骤
- STM32F051C8T6控制LED
热门文章
- WiresharkTCP的状态 (SYN, FIN, ACK, PSH, RST, URG)
- 转载:警惕!!骗人的“培训机构” “北大青鸟”事件
- 剑指Offer——跳台阶
- 转:Linux设备驱动开发(1):内核基础概念
- [deviceone开发]-心形点赞动画示例
- ASP.Net 使用SqlBulkCopy批量插入
- 解决ng界面长表达式(ui-set)
- 通过select选项动态异步加载内容
- Linq 左连接 内连接
- 京东到家程序员删库跑路 ! 讲一讲 MySQL 数据备份杀手锏 binlog