栏目导航
热点推荐
- 三十条有用的 Java 编程规则
- Java制作水印图片源码
- Java常见异常及可能的导致原因
- Java中的修饰词使用方法总结
- J2EE系统异常的处理准则
- Java中的异常、断言、日志解析(
- Java面试技巧:Java面试题集锦(
- 面向Java开发人员的Scala指南:
- Java程序员:一刻钟精通正则表达
- 网友经验分享:学好java开发的关
- 专家解答:创建表格与数据库进行
- Java远程访问Domino数据库
阅览排行
Java Socket应答与HTTP服务器的关系
www.jz123.cn 2010-04-16 来源: 中国建站 责任编辑(袁袁) 我要投递新闻
Java Socket应答一直伴随着我们的编程生活,在不断的发展中有很多知识需要我们学习。下面我们就先来看看有关Java Socket应答的代码,有点长,但是看下去就会让你豁然开朗。
HTTP/1.1表示这个HTTP服务器是1.1版,200是服务器对客户请求的应答状态码,OK是对应答状态码的解释,之后是这个文档的元信息和文档正文。(相关应答状态码和元信息的解释请参阅Inetrnet标准草案:RFC2616)。
1.Http.java
2.import java.net.*;
3.import java.io.*;
4.import java.util.Properties;
5.import java.util.Enumeration;
6.public class Http {
7.protected Socket client;
8.protected BufferedOutputStream sender;
9.protected BufferedInputStream receiver;
10.protected ByteArrayInputStream byteStream;
11.protected URL target;
12.private int responseCode=-1;
13.private String responseMessage="";
14.private String serverVersion="";
15.private Properties header = new Properties();
16.public Http() { }
17.public Http(String url) {
18.GET(url) ;
19.}
20./* GET方法根据URL,会请求文件、数据库查询结果、程序运行结果等多种内容 */
21.public void GET(String url) {
22.try {
23.checkHTTP(url);
24.openServer(target.getHost(),target.getPort() );
25.String cmd = "GET "+ getURLFormat(target) +" HTTP/1.0rn"
26.+ getBaseHeads()+"rn";
27.sendMessage(cmd);
28.receiveMessage();
29.} catch(ProtocolException p) {
30.p.printStackTrace();
31.return;
32.} catch(UnknownHostException e) {
33.e.printStackTrace();
34.return;
35.} catch(IOException i) {
36.i.printStackTrace();
37.return;
38.}
39.}
40./*
41.* HEAD方法只请求URL的元信息,不包括URL本身。若怀疑本机和服务器上的
42.* 文件相同,用这个方法检查最快捷有效。
43.*/
44.public void HEAD(String url) {
45.try {
46.checkHTTP(url);
47.openServer(target.getHost(),target.getPort() );
48.String cmd = "HEAD "+getURLFormat(target)+" HTTP/1.0rn"
49.+getBaseHeads()+"rn";
50.sendMessage(cmd);
51.receiveMessage();
52.}catch(ProtocolException p) {
53.p.printStackTrace();
54.return;
55.}catch(UnknownHostException e) {
56.e.printStackTrace();
57.return;
58.}catch(IOException i) {
59.i.printStackTrace();
60.return;
61.}
62.}
63./*
64.* POST方法是向服务器传送数据,以便服务器做出相应的处理。例如网页上常用的
65.* 提交表格。
66.*/
67.public void POST(String url,String content) {
68.try {
69.checkHTTP(url);
70.openServer(target.getHost(),target.getPort() );
71.String cmd = "POST "+ getURLFormat(target) +"HTTP/1.0rn"+getBaseHeads();
72.cmd += "Content-type: application/x-www-form-urlencodedrn";
73.cmd += "Content-length: " + content.length() + "rnrn";
74.cmd += content+"rn";
75.sendMessage(cmd);
76.receiveMessage();
77.}catch(ProtocolException p) {
78.p.printStackTrace();
79.return;
80.}catch(UnknownHostException e) {
81.e.printStackTrace();
82.return;
83.}catch(IOException i) {
84.i.printStackTrace();
85.return;
86.}
87.}
上一篇:Java main方法如何弄清进程问题 下一篇:Spring 定时任务实现方法简介