- 浏览: 277166 次
- 性别:
- 来自: 杭州
文章分类
最新评论
-
北方狼:
请问,当表格列数过多时,除了调整pdf页面宽度,能否设置分页显 ...
利用itext操作pdf从数据库导出大量数据--功能汇总(一) -
15817048604:
.....................
利用itext操作pdf从数据库导出大量数据--添加水印(四) -
laoma102:
顶个,谢楼主
代理模式,JDK动态代理,SpringAOP来龙去脉 -
穷途末路:
给力,谢谢分享
Excel2003和Excel2007对下拉选择和下拉级联选择的操作以及java程序的调用 -
weir2009:
复杂的交叉表crosstab 怎么处理?
利用itext操作pdf从数据库导出大量数据--功能汇总(一)
首先建立一个web工程
准备连个jsp文件试试正常的流程
testpost.jsp数据提交页面
<%@ page language="java" pageEncoding="GBK"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
</head>
<body>
<form method="post" action="testpostresult.jsp">
This is my JSP page. <br><br>
<input name="name" value="fruitking"/><br><br>
<input name="company" value="intohotel"/><br><br>
<input type="submit" value="submit"/><br>
</form>
</body>
</html>
testpostresult.jsp数据响应页面
<%@ page language="java" pageEncoding="GBK"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
</head>
<body>
This is my JSP page. <br>
name:<%=request.getParameter("name")%><br>
company:<%=request.getParameter("company")%><br>
</body>
</html>
如果用socket如何建立post提交,get提交呢?如果又获得这个http响应呢?
post提交模拟
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;
import java.net.InetAddress;
import java.net.Socket;
import java.net.URLEncoder;
public class TestSocketPost {
public static void main(String[] args) {
BufferedWriter httpPostWriter = null;
BufferedReader httpResponse = null;
try {
// form域的数据.form域的数据必须以链接形式发送
StringBuffer formDataItems = new StringBuffer();
formDataItems.append(URLEncoder.encode("name", "GBK"));
formDataItems.append("=");
formDataItems.append(URLEncoder.encode("fruitking", "GBK"));
formDataItems.append("&");
formDataItems.append(URLEncoder.encode("company", "GBK"));
formDataItems.append("=");
formDataItems.append(URLEncoder.encode("intohotel", "GBK"));
String hostname = "localhost";// 主机,可以是域名,也可以是ip地址
int port = 8080;// 端口
InetAddress addr = InetAddress.getByName(hostname);
// 建立连接
Socket socket = new Socket(addr, port);
// 创建数据提交数据流
httpPostWriter = new BufferedWriter(new OutputStreamWriter(socket.getOutputStream(), "GBK"));
// 相对主机的请求地址
String httpSubmitPath = "/icbcnet/testpostresult.jsp";
// 发送数据头
httpPostWriter.write("POST " + httpSubmitPath + " HTTP/1.0\r\n");
httpPostWriter.write("Host: socket方式的post提交测试\r\n");
httpPostWriter.write("Content-Length: " + formDataItems.length() + "\r\n");
httpPostWriter.write("Content-Type: application/x-www-form-urlencoded\r\n");
httpPostWriter.write("\r\n"); // 以空行作为分割
// 发送数据
httpPostWriter.write(formDataItems.toString());
httpPostWriter.flush();
// 创建web服务器响应的数据流
httpResponse = new BufferedReader(new InputStreamReader(socket.getInputStream(), "GBK"));
String lineStr = "";
while ((lineStr = httpResponse.readLine()) != null) {
System.out.println(lineStr);
}
} catch (Exception e) {
e.printStackTrace();
} finally {
try {
if (httpPostWriter != null) {
httpPostWriter.close();
}
if (httpResponse != null) {
httpResponse.close();
}
} catch (IOException e) {
e.printStackTrace();
}
}
}
}
get模拟
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;
import java.net.InetAddress;
import java.net.Socket;
import java.net.URLEncoder;
public class TestSocketGet {
public static void main(String[] args) {
BufferedWriter httpGetWriter = null;
BufferedReader httpResponse = null;
try {
String hostname = "localhost";// 主机,可以是域名,也可以是ip地址
int port = 8080;// 端口
InetAddress addr = InetAddress.getByName(hostname);
// 建立连接
Socket socket = new Socket(addr, port);
// 创建数据提交数据流
httpGetWriter = new BufferedWriter(new OutputStreamWriter(socket.getOutputStream(), "GBK"));
// 相对主机的请求地址
StringBuffer httpSubmitPath = new StringBuffer("/icbcnet/testpostresult.jsp?");
httpSubmitPath.append(URLEncoder.encode("name", "GBK"));
httpSubmitPath.append("=");
httpSubmitPath.append(URLEncoder.encode("fruitking", "GBK"));
httpSubmitPath.append("&");
httpSubmitPath.append(URLEncoder.encode("company", "GBK"));
httpSubmitPath.append("=");
httpSubmitPath.append(URLEncoder.encode("pubone", "GBK"));
httpGetWriter.write("GET " + httpSubmitPath.toString() + " HTTP/1.1\r\n");
httpGetWriter.write("Host: socket方式的get提交测试\r\n");
httpGetWriter.write("\r\n");
httpGetWriter.flush();
// 创建web服务器响应的数据流
httpResponse = new BufferedReader(new InputStreamReader(socket.getInputStream(), "GBK"));
// 读取每一行的数据.注意大部分端口操作都需要交互数据。
String lineStr = "";
while ((lineStr = httpResponse.readLine()) != null) {
System.out.println(lineStr);
}
} catch (Exception e) {
e.printStackTrace();
} finally {
try {
if (httpGetWriter != null) {
httpGetWriter.close();
}
if (httpResponse != null) {
httpResponse.close();
}
} catch (IOException e) {
e.printStackTrace();
}
}
}
}
准备连个jsp文件试试正常的流程
testpost.jsp数据提交页面
<%@ page language="java" pageEncoding="GBK"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
</head>
<body>
<form method="post" action="testpostresult.jsp">
This is my JSP page. <br><br>
<input name="name" value="fruitking"/><br><br>
<input name="company" value="intohotel"/><br><br>
<input type="submit" value="submit"/><br>
</form>
</body>
</html>
testpostresult.jsp数据响应页面
<%@ page language="java" pageEncoding="GBK"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
</head>
<body>
This is my JSP page. <br>
name:<%=request.getParameter("name")%><br>
company:<%=request.getParameter("company")%><br>
</body>
</html>
如果用socket如何建立post提交,get提交呢?如果又获得这个http响应呢?
post提交模拟
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;
import java.net.InetAddress;
import java.net.Socket;
import java.net.URLEncoder;
public class TestSocketPost {
public static void main(String[] args) {
BufferedWriter httpPostWriter = null;
BufferedReader httpResponse = null;
try {
// form域的数据.form域的数据必须以链接形式发送
StringBuffer formDataItems = new StringBuffer();
formDataItems.append(URLEncoder.encode("name", "GBK"));
formDataItems.append("=");
formDataItems.append(URLEncoder.encode("fruitking", "GBK"));
formDataItems.append("&");
formDataItems.append(URLEncoder.encode("company", "GBK"));
formDataItems.append("=");
formDataItems.append(URLEncoder.encode("intohotel", "GBK"));
String hostname = "localhost";// 主机,可以是域名,也可以是ip地址
int port = 8080;// 端口
InetAddress addr = InetAddress.getByName(hostname);
// 建立连接
Socket socket = new Socket(addr, port);
// 创建数据提交数据流
httpPostWriter = new BufferedWriter(new OutputStreamWriter(socket.getOutputStream(), "GBK"));
// 相对主机的请求地址
String httpSubmitPath = "/icbcnet/testpostresult.jsp";
// 发送数据头
httpPostWriter.write("POST " + httpSubmitPath + " HTTP/1.0\r\n");
httpPostWriter.write("Host: socket方式的post提交测试\r\n");
httpPostWriter.write("Content-Length: " + formDataItems.length() + "\r\n");
httpPostWriter.write("Content-Type: application/x-www-form-urlencoded\r\n");
httpPostWriter.write("\r\n"); // 以空行作为分割
// 发送数据
httpPostWriter.write(formDataItems.toString());
httpPostWriter.flush();
// 创建web服务器响应的数据流
httpResponse = new BufferedReader(new InputStreamReader(socket.getInputStream(), "GBK"));
String lineStr = "";
while ((lineStr = httpResponse.readLine()) != null) {
System.out.println(lineStr);
}
} catch (Exception e) {
e.printStackTrace();
} finally {
try {
if (httpPostWriter != null) {
httpPostWriter.close();
}
if (httpResponse != null) {
httpResponse.close();
}
} catch (IOException e) {
e.printStackTrace();
}
}
}
}
get模拟
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;
import java.net.InetAddress;
import java.net.Socket;
import java.net.URLEncoder;
public class TestSocketGet {
public static void main(String[] args) {
BufferedWriter httpGetWriter = null;
BufferedReader httpResponse = null;
try {
String hostname = "localhost";// 主机,可以是域名,也可以是ip地址
int port = 8080;// 端口
InetAddress addr = InetAddress.getByName(hostname);
// 建立连接
Socket socket = new Socket(addr, port);
// 创建数据提交数据流
httpGetWriter = new BufferedWriter(new OutputStreamWriter(socket.getOutputStream(), "GBK"));
// 相对主机的请求地址
StringBuffer httpSubmitPath = new StringBuffer("/icbcnet/testpostresult.jsp?");
httpSubmitPath.append(URLEncoder.encode("name", "GBK"));
httpSubmitPath.append("=");
httpSubmitPath.append(URLEncoder.encode("fruitking", "GBK"));
httpSubmitPath.append("&");
httpSubmitPath.append(URLEncoder.encode("company", "GBK"));
httpSubmitPath.append("=");
httpSubmitPath.append(URLEncoder.encode("pubone", "GBK"));
httpGetWriter.write("GET " + httpSubmitPath.toString() + " HTTP/1.1\r\n");
httpGetWriter.write("Host: socket方式的get提交测试\r\n");
httpGetWriter.write("\r\n");
httpGetWriter.flush();
// 创建web服务器响应的数据流
httpResponse = new BufferedReader(new InputStreamReader(socket.getInputStream(), "GBK"));
// 读取每一行的数据.注意大部分端口操作都需要交互数据。
String lineStr = "";
while ((lineStr = httpResponse.readLine()) != null) {
System.out.println(lineStr);
}
} catch (Exception e) {
e.printStackTrace();
} finally {
try {
if (httpGetWriter != null) {
httpGetWriter.close();
}
if (httpResponse != null) {
httpResponse.close();
}
} catch (IOException e) {
e.printStackTrace();
}
}
}
}
发表评论
-
电话号码压缩方法
2013-03-09 23:31 1562/** * 电话号码采用62进制压缩方法工具 ... -
jquerytree树结构实例
2011-05-18 09:19 1584上传一个jquerytree的实例 下面做些讲解 jquery ... -
js对象的定义以及在弹出窗口中的返回值应用
2011-05-16 16:57 1871弹出窗口及返回值的js代码 function searc ... -
java枚举值的使用
2011-02-15 11:04 48991.java枚举值解决类型安全的问题,范围问题,能获取一组值的 ... -
存储设备的接口分类
2011-01-07 23:29 1417存储设备的接口有五大类 IDE、SCSI、USB,并行口,串口 ... -
VBA脚本语言测试Excel宏定义处理文件拷贝
2010-11-29 13:54 2923'指定文件目录复制工具(可用户基于svn版本管理的项目做增 ... -
Excel2003和Excel2007对下拉选择和下拉级联选择的操作以及java程序的调用
2010-11-15 16:23 5909Excel2007和Excel2003的部分功能菜单有所调整 ... -
深入探索 高效的Java异常处理框架
2010-11-11 09:07 1266突然想起应用中异常处理问题,以前很少应用这块知识,或者说应用得 ... -
oracle数据库备份恢复和svn备份恢复
2010-08-09 14:07 1361目录 2010-08-06系统重装 1 一、 检查当前操作系统 ... -
url中文乱码,分页中乱码,textarea回车符回写
2010-04-14 10:51 2843url传输乱码的解决方式 这里不针对在web服务器设置编码(考 ... -
myeclips下的jvm内存设计问题
2009-12-22 11:06 1033在myeclipse的window菜单-》preference ... -
struts2 井号,星号,百分号的含义和使用举例
2009-11-18 15:03 3146struts2 OGNL,struts2 表达 ... -
字符串连接,但需要去掉重复部分
2009-11-06 17:26 1314比如有两个字符串,上海虹桥、虹桥国际机场,连接起来为上海虹桥国 ... -
oracle存储过程学习过程
2009-09-30 16:58 1998一直没有使用过存储过程 今天特意学习一下oracle的存储过程 ... -
正则表达式实例
2009-09-23 15:32 1155var chineseNameReg = /^[\u4E00- ... -
文本框默认输入灰色显示,点击后用层显示提示信息
2009-09-21 17:16 3171<html> <head> <t ... -
基于ssl双向认证的详细例子
2009-08-27 17:27 2077产生服务端证书库 keytool -genkey -alias ... -
Web Services的基本原理
2009-08-05 16:34 1019摘要:本文介绍了Web Services的起源和基本原理,分析 ... -
摘抄:jvm的内存介绍和举例
2009-08-01 11:20 11404.2 容易被搞晕的--堆和栈 由于"堆" ... -
摘抄:ejb的概念和原理解说
2009-08-01 11:06 1298转自《java程序员 编程 ...
相关推荐
以下是对php中用socket模拟http中post或者get提交数据的示例代码进行了介绍,需要的朋友可以过来参考下
PHP版SOCKET模拟提交POST消息 模拟邮箱登陆什么的就可以做了。
VC Socket GET_POST发送HTTP请求示例
主要介绍了使用PHP Socket 编程模拟Http post和get请求 ,需要的朋友可以参考下
用PHP SOCKET构造的POST与GET方法
模拟Socket通讯服务端,实现网络通讯社数据的接收,根据接收数据判断处理
VC++ HTTP Get Post请求
博客:【安卓学习之工具学习】网络通信测试工具-socket/post/get 的附件,博客连接为:http://blog.csdn.net/ljb568838953/article/details/52493675 附件里面含: fiddlersetup_v4.6.2.0.32002.exe NetAssist_v4.2....
通过socket,实现http协议!支持get\post等操作。是用C++来实现的~
一个用Socket发送http post数据包,实现QQ登录的源码
VC Socket GET_POST发送HTTP请求示例#资源达人分享计划#
通过C#,根据Http协议,创建GET方式的HTTP请求,创建POST方式的HTTP请求。
使用socket post 数据到http和https
这个工具就是一个能在线模拟socket通讯工具,并且能检测通讯是否能正常响应和发送信息
在andriod下实现一个间的socket server 安装以后可以通过,浏览器访问/mnt/sdcard/IDATACHINA文件夹下的html文件
提交HTTP请求到任意网站URL。支持POST GET SOAP SOCKET,支持使用代理服务器进行连接,UA设置,并且支持cookie
Wince下socket实现的HTTP类,支持POST和GET
如何判断SOCKET通信中,客户端在10s内未发送数据或者未收到服务器发送的数据,自动