package cn.com.surekam;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
import java.io.UnsupportedEncodingException;
import java.net.HttpURLConnection;
import java.net.URL;
public class HttpAccessJDBCClient {
private static String JDBC_QUERY = "http://localhost:8081/jdbc/?method=query&";
/**
* 发送http请求
* @throws IOException
*/
public static void sendHttp() throws IOException {
URL url = new URL(
"http://localhost:8080/ImitateIE/ie.do?password=33");// 设置要访问的链接
HttpURLConnection conn = (HttpURLConnection) url.openConnection(); // 获取HttpURLConnection的对象
conn.setDoOutput(true); // 默认值为false,不能传递参数
conn.setRequestMethod("POST"); // 设置请求方式
conn.setRequestProperty("referer", "http://www.sina.com/index.html");
OutputStream out = conn.getOutputStream();
out.write("name=aaaa".getBytes());
// 向服务器发送一个值为"aaaa"的name参数,如果conn的DoOutput属性值为false,此处将抛出异常
conn.getResponseCode(); // 获取响应状态码
System.out.println("sendHttp:conn.getResponseCode():"+conn.getResponseCode());
}
/**
* 发送http请求,接受http请求
* @throws IOException
*/
public static void sendAndReadHttp() throws IOException {
URL url = new URL(
"http://localhost:8080/ImitateIE/ie.do?");// 设置要访问的链接
HttpURLConnection conn = (HttpURLConnection) url.openConnection(); // 获取HttpURLConnection的对象
conn.setDoOutput(true); // 默认值为false,不能传递参数
conn.setRequestMethod("POST"); // 设置请求方式
conn.setRequestProperty("referer", "http://www.sina.com/index.html");
OutputStream out = conn.getOutputStream();
out.write("name=name&password=password".getBytes());
// 向服务器发送一个值为"aaaa"的name参数,如果conn的DoOutput属性值为false,此处将抛出异常
conn.getResponseCode(); // 获取响应状态码
System.out.println("sendHttp:conn.getResponseCode():"+conn.getResponseCode());
InputStream in = conn.getInputStream(); // 获取一个和服务器返回的内容相关联的流
try {
int len = 0;
byte[] buffer = new byte[1024];
while ((len = in.read(buffer)) > 0) {
System.out.println(new String(buffer, 0, len)); // 输出到控制台
}
} finally {
if (in != null)
try {
in.close();
} catch (Exception e) {
e.printStackTrace();
}
}
}
/**
* 读取http请求的信息
* @throws IOException
*/
public static void readHttp() throws IOException {
URL url = new URL(
"http://localhost:8080/ImitateIE/ie.do"); // 设置请求的链接
HttpURLConnection conn = (HttpURLConnection) url.openConnection();
System.out.println(conn.getResponseCode()); // 查看响应状态码
System.out.println(conn.getHeaderField("Content-Length")); // 响应文本内容的长度
InputStream in = conn.getInputStream(); // 获取一个和服务器返回的内容相关联的流
try {
int len = 0;
byte[] buffer = new byte[1024];
while ((len = in.read(buffer)) > 0) {
System.out.println(new String(buffer, 0, len)); // 输出到控制台
}
} finally {
if (in != null)
try {
in.close();
} catch (Exception e) {
e.printStackTrace();
}
}
}
/**
* 发送http请求
* @throws IOException
*/
public static void sendHttpToJDBC() throws IOException {
URL url = new URL("http://localhost:8080/jdbc/?method=query&appId=998");// 设置要访问的链接
HttpURLConnection conn = (HttpURLConnection) url.openConnection(); // 获取HttpURLConnection的对象
conn.setDoOutput(true); // 默认值为false,不能传递参数
conn.setRequestMethod("POST"); // 设置请求方式
conn.setRequestProperty("referer", "http://www.sina.com/index.html");
OutputStream out = conn.getOutputStream();
out.write("appId=998".getBytes());
// 向服务器发送一个值为"aaaa"的name参数,如果conn的DoOutput属性值为false,此处将抛出异常
conn.getResponseCode(); // 获取响应状态码
System.out.println("conn.getResponseCode():"+conn.getResponseCode());
System.out.println("conn.getResponseCode():"+conn.getContent());
InputStream in = conn.getInputStream(); // 获取一个和服务器返回的内容相关联的流
try {
int len = 0;
byte[] buffer = new byte[1024];
while ((len = in.read(buffer)) > 0) {
System.out.println(new String(buffer, 0, len)); // 输出到控制台
}
} finally {
if (in != null)
try {
in.close();
} catch (Exception e) {
e.printStackTrace();
}
}
}
/**
* 读取http请求的信息
* @throws IOException
*/
public static void readHttpFromJDBC() throws IOException {
StringBuffer bufUrl = new StringBuffer(JDBC_QUERY);
bufUrl.append("appId=998&appName=用户验证系统");
// URL url = new URL(bufUrl.toString()); // 设置请求的链接
URL url = new URL(new String(bufUrl.toString().getBytes("UTF-8"),"UTF-8")); // 设置请求的链接
HttpURLConnection conn = (HttpURLConnection) url.openConnection();
// conn.setDoOutput(true); // 默认值为false,不能传递参数
// OutputStream out = conn.getOutputStream();
// out.write("name=aaaa".getBytes());
System.out.println(conn.getResponseCode()); // 查看响应状态码
System.out.println(conn.getHeaderField("Content-Length")); // 响应文本内容的长度
System.out.println(conn.getContentEncoding()); // 响应文本内容的编码
System.out.println(conn.getConnectTimeout()+" content:"+conn.getContent().toString()); // 响应时间
System.out.println("url:"+url.toString());
System.out.println("url:"+url.toString());
InputStream in = conn.getInputStream(); // 获取一个和服务器返回的内容相关联的流
try {
int len = 0;
byte[] buffer = new byte[1024];
while ((len = in.read(buffer)) > 0) {
System.out.println(new String(buffer, 0, len)); // 输出到控制台
}
} finally {
if (in != null)
try {
in.close();
} catch (Exception e) {
e.printStackTrace();
}
}
}
public static void main(String[] args) throws IOException {
// sendHttp();
// readHttp();
sendAndReadHttp();
// readHttpFromJDBC();
// sendHttpToJDBC();
}
}
分享到:
相关推荐
用xmlhttp/winhttp 模拟向服务器发送请求,接收服务器返回的数据。 优点:效率高,基本无兼容性问题。 缺点:需要借助如fiddler 的工具来模拟http 请求。 2、IE/webbrowser 法: 创建IE 控件或webbrowser 控件,...
使操作和用户体验非常不方便,研究了好久没有找到好的方法,最后终于让我踏破铁鞋总结出了下面的方法,原理我个人的理解应该是模拟IE发送验证的消息进行验证,可以通过实现登录的问题。 注:需要添加名称为Microsoft...
/usr/local/siege/bin/siege -c 50 -r 100 http://www.baidu.com/s?wd=siege&rsv_spt=1&issp=1&rsv_bp=0&ie=utf-8&tn=baiduhome_pg&rsv_sug3=4&rsv_sug=2&rsv_sug1=4&rsv_sug4=60 50个用户 重复100次 发送POST...
◆ 123.htm 自动更新工作站的应用程序 ◆ 124.htm 自己的IE——用VB制作器 ◆ 125.htm HTTP协议(学习笔记) ◆ 126.htm HTTP协议四--关于Chunked编码 ◆ 127.htm IE器完全控制 ◆ ...
类似于使用程序模拟IE浏览器的功能,把URL作为HTTP请求的内容发送到服务器端, 然后读取服务器端的响应资源。 在Python中,我们使用urllib2这个组件来抓取网页。 urllib2是Python的一个获取URLs(Uniform Resource ...
发送消息_全选插入 防破解 仿XP窗口2.0 仿XP界面3.0特别版模块 3.0 分辨率 分割无逢文本模块 复制目录模块 G 改变系统菜单1.0改进版 改变系统菜单1.0简单版 改变显示器状态 高级表格到excel 高级液晶数字1.1...
限制内网对外部的访问权限 题目14 用IE浏览器浏览网页,在地址栏中输入网址时,通常可以省略________。 a. http:// b. news:// c. ftp:// d. mailto:// 题目15 TCP/IP分层模型从下到上,依次为_________。 a. 物理...
限制内网对外部的访问权限 题目14 用IE浏览器浏览网页,在地址栏中输入网址时,通常可以省略________。 a. http:// b. news:// c. ftp:// d. mailto:// 题目15 TCP/IP分层模型从下到上,依次为_________。 a. 物理...
限制内网对外部的访问权限 题目14 用IE浏览器浏览网页,在地址栏中输入网址时,通常可以省略________。 a. http:// b. news:// c. ftp:// d. mailto:// 题目15 TCP/IP分层模型从下到上,依次为_________。 a. 物理...
限制内网对外部的访问权限 题目14 用IE浏览器浏览网页,在地址栏中输入网址时,通常可以省略________。 a. http:// b. news:// c. ftp:// d. mailto:// 题目15 TCP/IP分层模型从下到上,依次为_________。 a. 物理...
发送消息_全选插入.ec 防破解.ec 仿XP窗口2.0.ec 仿XP界面3.0特别版模块 3.0.ec 分辨率.ec 分割无逢文本模块.ec 复制目录模块.ec 改变显示器状态.ec 改变系统菜单1.0改进版.ec 改变系统菜单1.0简单版.ec ...
发送消息_全选插入.ec 防破解.ec 仿XP窗口2.0.ec 仿XP界面3.0特别版模块 3.0.ec 分辨率.ec 分割无逢文本模块.ec 复制目录模块.ec 改变显示器状态.ec 改变系统菜单1.0改进版.ec 改变系统菜单1.0简单版.ec ...
发送消息_全选插入.ec 防破解.ec 仿XP窗口2.0.ec 仿XP界面3.0特别版模块 3.0.ec 分辨率.ec 分割无逢文本模块.ec 复制目录模块.ec 改变显示器状态.ec 改变系统菜单1.0改进版.ec 改变系统菜单1.0简单版.ec ...
发送消息_全选插入.ec 数据库到超级列表框.ec 取功能键状态.ec 高级液晶数字1.1.ec 窗口动画效果模块 V1.0.ec 超级列表框模糊查找.ec 个性信息框1.1.ec 创建多级目录.ec 互联网扩展模块1.1.ec 调用PowerDll功能的...
如果不使用Cookie, 发送HTTP POST非常简单: 复制代码 代码如下:import urllib2, urllib data = {‘name’ : ‘www’, ‘password’ : ‘123456’} f = urllib2.urlopen( url = ‘//www.jb51.net/’, data = ...
发送消息_全选插入.ec 取CPU特征字.ec 取DOS执行结果.ec 取Excel表名列表模块1.0.ec 取IE地址栏.ec 取IP及地理位置模块.ec 取IP地址.ec 取mdb表名.ec 取mp3信息模块.ec 取功能键状态.ec 取十进制.ec 取...
13.1.1 消息与事件响应 13.1.2 浏览器的事件驱动机制 13.2 基本事件处理 13.2.1 事件和事件类型 13.2.2 事件的绑定 13.2.3 直接调用事件处理函数 13.2.4 事件处理函数的返回值 13.2.5...