- 浏览: 177376 次
- 性别:
- 来自: 深圳
文章分类
- 全部博客 (56)
- 算法 (9)
- linux (15)
- oracle (4)
- Project Euler Problem (3)
- 编程珠玑 (2)
- 数学 (1)
- http (1)
- java (19)
- plsql (1)
- apusic (1)
- https (1)
- 备忘 (22)
- 概率 (1)
- EIP (0)
- eclipse (1)
- 安全 (1)
- 公钥体系 (6)
- PKI (2)
- 网络 (2)
- linux,克隆 (0)
- virt-manager (1)
- VMWare (1)
- 克隆 (1)
- logback (1)
- TimeBasedRollingPolicy (0)
- SizeBasedTriggeringPolicy (0)
- properties (1)
- class (1)
- classloader (1)
- netty (1)
- thread dump (1)
- jstack (1)
- jconsole (1)
- java,编码,文件名 (0)
- google (1)
- goagent (1)
- 线程池 (1)
- 博客 (1)
- hexo (1)
- github (1)
- gitcafe (1)
最新评论
-
panhl:
我也实现了一个https://github.com/panho ...
具有相同属性任务串行有序执行的线程池设计 -
fengwei5129:
感谢,最近在看netty源码一直搞不清楚是如何实现的死锁检测, ...
Future机制用于并发编程时的死锁检测 -
OpenMind:
发现IBM JDK的System.nanoTime()没有实现 ...
Java系统时钟几个值得思考的问题 -
lvhongfen:
好了,感谢LZ分享
windows下plsql 设置 里面timestamp显示的格式 -
OpenMind:
今天发现,在linux下还有个很简介的方法查看线程的转储信息, ...
不依赖jstack的java 线程dump和死锁检查工具
1),利用httpclient4.× 写一个http的客户端,模拟浏览器请求,
uri是请求的地址,charset是编码“UTF-8”,List<NameValuePair>就是表单参数集
2) 采用JDK的HttpConnection构造http客户端,
addPair方法:
public void post(List<NameValuePair> payload) throws Exception{ HttpPost post = new HttpPost(uri); HttpEntity result = null; try { UrlEncodedFormEntity entity = new UrlEncodedFormEntity(payload, charset); post.setEntity(entity); if (LOG.isDebugEnabled()) { LOG.debug("sending:" + payload); } HttpResponse response = _httpClient.execute(post); StatusLine statusLine = response.getStatusLine(); if (statusLine.getStatusCode() != HttpStatus.SC_OK) { result = response.getEntity(); StringBuilder msg = new StringBuilder(); msg.append("http response with code " + statusLine.getStatusCode()); msg.append("\n"); msg.append("post request: " + post.getURI()); msg.append("\n"); msg.append(statusLine.getReasonPhrase()); if (result != null) { msg.append("\n\n"); msg.append(EntityUtils.toString(result, "UTF-8")); msg.append("\n\n"); } throw new UmcException(msg.toString()); } if (response.getEntity() != null) { BufferedReader reader = new BufferedReader( new InputStreamReader( response.getEntity().getContent(), "UTF-8")); String line = null; while ((line = reader.readLine()) != null) { if (line.indexOf("success") < 0) System.out.println(line); } } } finally { if (result != null) try { EntityUtils.consume(result); } catch (IOException e) { } post.abort(); } }
uri是请求的地址,charset是编码“UTF-8”,List<NameValuePair>就是表单参数集
ClientConnectionManager ccManager = new ThreadSafeClientConnManager(); HttpClient _httpClient = new DefaultHttpClient(ccManager);
2) 采用JDK的HttpConnection构造http客户端,
////发送 HttpURLConnection conn = null; try { URL url = new URL(Your_URL); conn = (HttpURLConnection) url.openConnection(); conn.setRequestMethod("POST"); conn.setRequestProperty("Content-Type", "application/x-www-form-urlencoded"); conn.setUseCaches(false); conn.setDoOutput(true); OutputStreamWriter osw = new OutputStreamWriter( conn.getOutputStream()); StringBuffer sb = new StringBuffer(); addPair(sb, "p1", "p1value"); addPair(sb, "p2", "p2value"); osw.write(sb.substring(0, sb.length() - 1)); osw.flush(); BufferedReader reader = new BufferedReader( new InputStreamReader(conn.getInputStream())); String line = null; sb = new StringBuffer(); while ((line = reader.readLine()) != null) { sb.append(line); } line = sb.toString(); // 处理返回的字符串line return; //// } catch (IOException e) { // handle e } finally { if (conn != null) conn.disconnect(); }///发送结束
addPair方法:
public static void addPair(StringBuffer sb, String name, String value) { if (value == null) { return; } sb.append(name); sb.append("="); sb.append(value); sb.append("&"); }
发表评论
-
具有相同属性任务串行有序执行的线程池设计
2014-09-04 15:30 1394我有一个这样的线程池的场景,相信很多人都遇到过: 1,每个用 ... -
不依赖jstack的java 线程dump和死锁检查工具
2013-10-08 14:41 2387java线程dump可以使用jdk的命令“jstack ... -
回忆去年用Java破解unity.exe的过程
2013-05-26 00:48 2591去年我一同学要我破解unity.exe,然后挂在网上卖点钱花 ... -
netty做Pipe一端快一端慢时防止内存溢出进行的操作
2013-05-23 17:12 5898前段时间用netty3.x做了 ... -
为什么InputStream.read()读取一个byte确返回一个int呢?
2013-05-09 16:26 5186问题1:为什么InputStream.read()读取一个 ... -
Java系统时钟几个值得思考的问题
2013-04-10 16:48 4562System.currentTimeMillis()是依赖 ... -
logback的SizeBasedTriggeringPolicy和TimeBasedRollingPolicy联合使用问题
2013-04-01 13:37 15183<appender name="FILE& ... -
netty应用分析
2013-03-07 15:54 0用netty 3.5.7做了一个网络程序,c与s之间有一个心 ... -
Java包装类Integer比较
2012-10-18 16:41 10831,用符号==比较两个对象,意味着比较他们是否是统一个对象。 ... -
Future机制用于并发编程时的死锁检测
2012-10-18 14:51 5953Netty源码里面有个类:De ... -
java-在非安全网络上建立可信任安全的通道(2/3)
2012-10-05 19:19 1217在不安全的网络环境下进行密钥交互(1/3,前面那一节),容易遭 ... -
java-在非安全网络上建立可信任安全的通道(1/3)
2012-10-05 18:46 1870看到标题,几乎所有人都会想到SSL,但SSL比较重 ... -
java编程方式用CA给证书进行签名/签发证书
2012-10-05 18:02 11938这些代码首先加载CA证书,然后分别用CA给Alice和Bob签 ... -
java编程方式生成CA证书
2012-10-05 17:28 15284下面是java编程方式生成CA证书的代码,使用的是BC的pro ... -
Class.getResourceAsStream
2013-04-06 14:09 980Class.getResourceAsStream(" ... -
findbugs
2012-03-02 16:41 0findbugsfindbugsfindbugsfindbug ... -
并发编程
2012-03-02 16:41 0C:\Users\Sunny\Desktop\docC:\Us ... -
泛型类里面获取到泛型的类型
2012-03-01 10:15 3418下面的代码可以让你在抽象的泛型类里面获取到泛型的类型 ab ... -
java 学习网站大全
2012-02-27 12:02 0http://scjp.home.sohu.com/ 模拟试题 ... -
First JNI
2012-02-13 14:34 769http://hi.baidu.com/fwmf/blog/i ...
相关推荐
使用Java模拟http请求.rar使用Java模拟http请求.rar
java模拟客户端向服务器发送post请求
JAVA模拟网页发送请求,网页内容获取 ,post方式的模拟 ,利用的jcookie包(http://jcookie.sourceforge.Net/ ) 获取cookie:
java模拟http请求登陆抓取海投网信息送入到mysql数据库,特别注意的是需要配置mysql为gbk 或者utf-8
主要介绍了java后台调用HttpURLConnection类模拟浏览器请求实例,该实例可用于接口调用,具有一定的实用价值,需要的朋友可以参考下
用于发送http请求的一个简单的工具类,实现比较简单,可以参考。
有些时候会遇到请求http,获取相应的json或者xml数据,今天整理了一点httpClient请求的示例代码。主要是根据相应的http地址,以及相关秘钥,通过HttpClient去发起请求,获取数据然后后台取解析json或者xml。
java墨迹HTTP请求传送图片。其中服务端部分可以另找我下载
本文是小编给大家整理的在用java模拟http请求的时候遇到的错误问题整理,以及相关分析,有兴趣的朋友参考下。
java模拟网络请求,get post put delete四种模式,请求头处理参数处理。此文件仅供大家参考,稍作修改即可。
NULL 博文链接:https://xieke90.iteye.com/blog/2259953
NULL 博文链接:https://tujunlan.iteye.com/blog/1997745
advanced rest client 模拟浏览器发送http请求的工具,用于调试自己开发的接口有一定帮助,压缩包中有文档介绍如何使用及安装
(完整版)JAVA利用HttpClient进行POST请求(HTTPS).doc
java HttpClient 发送GET请求和带有表单参数的POST请求教程例子
主要介绍了java 伪造http请求ip地址的方法,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
采用JAVA的socket实现http协议,模拟浏览器访问服务端。
主要介绍了java模拟发送form-data的请求方式,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
java模拟HTTP发送post和get请求工具类,使用httpClient类
模拟http请求实现文件上传,模拟doGet、doPost请求,实现信息发送