用TTcpClient向web server发送GET指令,获取文件,如果指令错误,web server就会返回错误信息,可是如果发送正确的指令,web server就没有任何返回,代码如下:
procedure TMainForm.ButtonDownClick(Sender: TObject);
var
get,host,accept,server,s:string;
begin
get:='';
host:='';
accept:='';
TcpClient.RemoteHost := EditRemoteHost.Text;
TcpClient.RemotePort := EditRemotePort.Text;
server:=TcpClient.RemoteHost+':'+TcpClient.RemotePort; if not TcpClient.Connected then
begin
MemoMsg.Lines.Add('连接服务器【'+server+'】......');
if TcpClient.Connect then
MemoMsg.Lines.Add('连接服务器【'+server+'】成功!')
else
MemoMsg.Lines.Add('连接服务器【'+server+'】失败!');
end
else
ShowMessage('与服务器【'+server+'】已连接'); if TcpClient.Connected then
begin
//////////////////////////////
使用以下错误指令,就会得到web server返回一些错误信息!
get:='GET'; //////////////////////////////
使用以下正确指令,web server没有任何返回!
//get:='GET /index.htm HTTP/1.1'; accept:='Accept:*/*';
host:='Host:127.0.0.1';
MemoMsg.Lines.Add('向服务器【'+server+'】发送请求:');
MemoMsg.Lines.Add('『');
MemoMsg.Lines.Add(get);
TcpClient.Sendln(get);
MemoMsg.Lines.Add(accept);
TcpClient.Sendln(accept);
MemoMsg.Lines.Add(host);
TcpClient.Sendln(host);
MemoMsg.Lines.Add('』');
s:=TcpClient.Receiveln;
ShowMessage('接收开始');
if s<>'' then
while s<>'' do
begin
MemoMsg.Lines.Add('服务器【'+server+'】响应:');
MemoMsg.Lines.Add('『');
MemoMsg.Lines.Add(s);
MemoMsg.Lines.Add('』');
s:=TcpClient.Receiveln;
end;
ShowMessage('接收结束');
end; TcpClient.Disconnect;
end;
高手救命!!!!!!!!!!!!!!!
procedure TMainForm.ButtonDownClick(Sender: TObject);
var
get,host,accept,server,s:string;
begin
get:='';
host:='';
accept:='';
TcpClient.RemoteHost := EditRemoteHost.Text;
TcpClient.RemotePort := EditRemotePort.Text;
server:=TcpClient.RemoteHost+':'+TcpClient.RemotePort; if not TcpClient.Connected then
begin
MemoMsg.Lines.Add('连接服务器【'+server+'】......');
if TcpClient.Connect then
MemoMsg.Lines.Add('连接服务器【'+server+'】成功!')
else
MemoMsg.Lines.Add('连接服务器【'+server+'】失败!');
end
else
ShowMessage('与服务器【'+server+'】已连接'); if TcpClient.Connected then
begin
//////////////////////////////
使用以下错误指令,就会得到web server返回一些错误信息!
get:='GET'; //////////////////////////////
使用以下正确指令,web server没有任何返回!
//get:='GET /index.htm HTTP/1.1'; accept:='Accept:*/*';
host:='Host:127.0.0.1';
MemoMsg.Lines.Add('向服务器【'+server+'】发送请求:');
MemoMsg.Lines.Add('『');
MemoMsg.Lines.Add(get);
TcpClient.Sendln(get);
MemoMsg.Lines.Add(accept);
TcpClient.Sendln(accept);
MemoMsg.Lines.Add(host);
TcpClient.Sendln(host);
MemoMsg.Lines.Add('』');
s:=TcpClient.Receiveln;
ShowMessage('接收开始');
if s<>'' then
while s<>'' do
begin
MemoMsg.Lines.Add('服务器【'+server+'】响应:');
MemoMsg.Lines.Add('『');
MemoMsg.Lines.Add(s);
MemoMsg.Lines.Add('』');
s:=TcpClient.Receiveln;
end;
ShowMessage('接收结束');
end; TcpClient.Disconnect;
end;
高手救命!!!!!!!!!!!!!!!
高手别沉默了啊!