用Socket類實現HTTP協議客戶端應用

2021-04-16 05:51:18 字數 1682 閱讀 9163

用socket類實現http協議客戶端應用

梁穎健 

[email protected]

responsecode = integer.parseint(message.substring(mark+1,mark+=4));

responsemessage = message.substring(mark,message.length()).trim();

// 應答狀態碼和處理請讀者新增

switch(responsecode)

if(word==-1) throw new protocolexception("資訊接收異常終止");

int symbol=-1;

count=0;

// 解析元資訊

while( word!='/r' && word!='/n' && word>-1)

if( word=='/r' || word=='/n' || word>32) break parseline;

symbol=32; break;

}

if(count==data.length) data = addcapacity(data);

data[count++] = (byte)symbol;

}

word=-1;

}

message = new string(data,0,count);

mark = message.indexof(':');

string key = null;

if(mark>0) key = message.substring(0,mark);

mark++;

while( mark

string value = message.substring(mark,message.length() );

header.put(key,value);

count=0;

}

// 獲得正文資料

while( (word=receiver.read())!=-1)

if(count>0) bytestream = new bytearrayinputstream(data,0,count);

data=null;

closeserver();

}

public string getresponsemessage()

public int getresponsecode()

public string getserverversion()

public inputstream getinputstream()

public synchronized string getheaderkey(int i)

public synchronized string getheadervalue(int i)

public synchronized string getheadervalue(string key)

protected string getbaseheads()

private byte addcapacity(byte rece)

}

注: 程式中只實現get、head、post三種方法。其他幾種因不常使用,暫且忽略。

直接用socket實現HTTP協議

直接用socket實現http協議 這個網頁 那麼請求頭的寫法如下 第2行 主機名,格式為 host 主機 在這個例子中是 host www.sina.com.cn 第4行 指定瀏覽器的型別 有些伺服器會根據客戶伺服器種類的不同會增加或減少一些內容,在這個例子中可以這樣寫 user agent mo...

用Socket類實現HTTP協議客戶端應用

用socket類實現http協議客戶端應用 梁穎健 liangyingjian 21cn.com responsecode integer.parseint message.substring mark 1,mark 4 responsemessage message.substring mark,...

用Socket類實現HTTP協議客戶端應用

用socket類實現http協議客戶端應用 梁穎健 liangyingjian 21cn.com responsecode integer.parseint message.substring mark 1,mark 4 responsemessage message.substring mark,...