首页 | 源码下载 | 网站模板 | 网页特效 | 广告代码 | 网页素材 | 字体下载 | 书库 | 站长工具
会员投稿 投稿指南 RSS订阅
当前位置:主页>网络编程>java教程>资讯:Java Socket应答与HTTP服务器的关系

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 定时任务实现方法简介

评论总数:0 [ 查看全部 ] 网友评论


关于我们隐私版权广告服务友情链接联系我们网站地图