WEB服务器Socket实现
public static void main(String[] args) {
ServerSocket socket = null;
try {
socket = new ServerSocket(80);
} catch (IOException e) {
e.printStackTrace();
System.exit(0);
}
while (true) {
InputStream is = null;
Socket s = null;
try {
s = socket.accept();
is = s.getInputStream();
int c = -1;
while ((c = is.read()) != -1) {
System.out.print((char) c);
}
} catch (IOException e) {
e.printStackTrace();
} finally {
try {
if (is != null) {
is.close();
is = null;
}
if (s != null) {
s.close();
s = null;
}
} catch (IOException e) {
e.printStackTrace();
}
}
}
}
[list]
GET方式提交
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<title> New Document </title>
</head>
<body>
<form method="get" action="http://localhost/web/index.jsp">
<input type="text" name="name" value="me"/>
<input type="password" name="password" value="mypwd"/>
<input type="submit" name="submit" value="submit"/>
</form>
</body>
</html>
请求信息如下:
GET /web/index.jsp?name=me&password=mypwd&submit=submit HTTP/1.1
Accept: */*
Accept-Language: zh-cn
Accept-Encoding: gzip, deflate
User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; MS-RTC LM 8; InfoPath.1; .NET CLR 2.0.50727; CIBA)
Host: localhost
Connection: Keep-Alive
POST方式提交
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<title> New Document </title>
</head>
<body>
<form method="post" action="http://localhost/web/index.jsp">
<input type="text" name="name" value="me"/>
<input type="password" name="password" value="mypwd"/>
<input type="submit" name="submit" value="submit"/>
</form>
</body>
</html>
请求信息如下:
POST /web/index.jsp HTTP/1.1
Accept: */*
Accept-Language: zh-cn
Content-Type: application/x-www-form-urlencoded
Accept-Encoding: gzip, deflate
User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; MS-RTC LM 8; InfoPath.1; .NET CLR 2.0.50727; CIBA)
Host: localhost
Content-Length: 36
Connection: Keep-Alive
Cache-Control: no-cache
name=me&password=mypwd&submit=submit
POST上传文件
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<title> New Document </title>
</head>
<body>
<form method="post" action="http://localhost/web/index.jsp" enctype="multipart/form-data">
<input type="text" name="name" value="me"/>
<input type="password" name="password" value="mypwd"/>
<input type="file" name="uploadfile"/>
<input type="submit" name="submit" value="submit"/>
</form>
</body>
</html>
请求信息如下:
POST /web/index.jsp HTTP/1.1
Accept: */*
Accept-Language: zh-cn
Content-Type: multipart/form-data; boundary=---------------------------7dad71450b9e
Accept-Encoding: gzip, deflate
User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; MS-RTC LM 8; InfoPath.1; .NET CLR 2.0.50727; CIBA)
Host: localhost
Content-Length: 954
Connection: Keep-Alive
Cache-Control: no-cache
-----------------------------7dad71450b9e
Content-Disposition: form-data; name="name"
me
-----------------------------7dad71450b9e
Content-Disposition: form-data; name="password"
mypwd
-----------------------------7dad71450b9e
Content-Disposition: form-data; name="uploadfile"; filename="D:\temp\zhizhu\news.sql"
Content-Type: application/octet-stream
CREATE DATABASE IF NOT EXISTS sohunews;
USE sohunews;
--
-- Definition of table `news`
--
DROP TABLE IF EXISTS `news`;
CREATE TABLE `news` (
`newsid` int(11) NOT NULL auto_increment,
`newstitle` varchar(60) NOT NULL,
`newsauthor` varchar(20) NOT NULL,
`newscontent` text NOT NULL,
`newsurl` char(130) NOT NULL,
`newsdate` varchar(24) NOT NULL,
PRIMARY KEY (`newsid`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
-----------------------------7dad71450b9e
Content-Disposition: form-data; name="submit"
submit
-----------------------------7dad71450b9e--
[/list]
分享到:
相关推荐
但没办法改他的现有系统,只好写个模拟的浏览器,打算做成自动登录并自动去取信息,发布的这个还没有做信息的分析功能,不过感觉里面的HTTP协议请求和Cookie、Session的一些处理对朋友们还是有帮助的。另外,有一个...
玩过抓包,网络协议分析的朋友肯定都知道http https post get,web端和用户的交互主要是通过post get完成的。 我这里有两种实现: 1:libcurl实现的CHttpClient类,该类实现了Htpp和Https的get post方法。 2:...
玩过抓包,网络协议分析的朋友肯定都知道http https post get,web端和用户的交互主要是通过post get完成的。 我这里有两种实现: 1:libcurl实现的CHttpClient类,该类实现了Htpp和Https的get post方法。 2:...
本文实例讲述了Yii框架通过请求组件处理get,post请求的方法。分享给大家供大家参考,具体如下: 在控制器的操作中处理get,post请求时,首先需要获得请求组件。 $request = \Yii::$app->request; 得到这个请求...
之前一次面试时面试官问到了Get请求和Post请求的区别,对于web基础来说这个还是比较重要的,所以我打算整理一下分享给大家,以下是我个人的一些总结,如果大神有更好的理解,欢迎补充。 从三个方面来总结 Get请求...
本文实例讲述了Go语言服务器开发实现最简单HTTP的GET与POST接口。分享给大家供大家参考。具体分析如下: Go语言提供了http包,可以很轻松的开发http接口。以下为示例代码: 代码如下:package webserver import...
详细介绍了http协议中get请求与post请求的区别,对于协议分析及编程很有帮助
在这个实验中,我们研究了 HTTP 协议的多个方面,包括基本的 GET 和 POST 操作、HTTP 消息的格式等。通过使用 Wireshark 工具,我们捕获和分析了 HTTP 消息,并回答了相关的问题。 一、基本的 HTTP GET/Response ...
本资源涉及服务器的搭建(利用node.js)与vue-axios中get与post网络请求的使用方法,同时,讲述了vue中如何实现跨域(配置转发的域),组件间通信等等,代码的分析较为详细,适合初学者。
* *描 述:实现HTTP协议中的GET、POST请求 * *使 用:HttpProc.WebClient client = new HttpProc.WebClient(); client.Encoding = System.Text.Encoding.Default;//默认编码方式,根据需要设置其他类型 client....
主要介绍了nodejs使用http模块发送get与post请求的方法,结合实例形式分析了nodejs基于http模块实现发送get与post请求具体操作技巧,需要的朋友可以参考下
Python爬虫HTTP协议剖析是指使用Python语言编写的爬虫程序来分析和解析HTTP协议的工作机制。HTTP协议是目前最流行的网络协议之一,广泛应用于网页浏览、网络爬虫、API接口等领域。 HTTP协议简介 HTTP(Hyper Text...
主要介绍了thinkPHP5.1框架路由::get、post请求简单用法,结合实例形式分析了thinkPHP5.1路由get、post请求基本使用方法,需要的朋友可以参考下
java jdbc数据库连接,get,post网络请求代码分析,构造函数获得数据库用户名和密码构造函数获得数据库用户名和密码构造函数获得数据库用户名和密码构造函数获得数据库用户名和密码构造函数获得数据库用户名和密码...
主要介绍了Python大数据之网络爬虫的post请求、get请求区别,结合具体实例形式分析了Python网页爬虫post请求与get请求相关使用技巧,需要的朋友可以参考下
主要介绍了Go语言Web编程实现Get和Post请求发送与解析的方法,结合实例形式分析了Go语言客户端、服务器端结合实现web数据get、post发送与接收数据的相关操作技巧,需要的朋友可以参考下
主要介绍了PHP使用stream_context_create()模拟POST/GET请求的方法,结合实例形式较为详细的分析了stream_context_create模拟POST/GET请求的原理,使用方法与相关注意事项,需要的朋友可以参考下
监视HTTP GET / POST请求。 请求和响应主体的XML / JSON Viewer / Formatter。 REST客户端:发送GET / POST / PATCH请求。 允许查看任何网站上的所有请求,创建和测试自定义HTTP请求。 您可以以XML / JSON / HTML / ...
监控HTTP GET / POST请求。请求和响应主体的XML/JSON查看器/格式化程序。REST客户端:发送GET/POST/PATCH请求。 允许查看任何网站上的所有请求,创建和测试自定义HTTP请求。 您可以以XML / JSON / HTML / TEXT格式...
本篇文章是对Android发送GET与POST请求的DEMO进行了详细的分析介绍,需要的朋友参考下