有谁用过CLIENTSOCKET来发HTTP请求的?(50分)

  • 主题发起人 主题发起人 吴剑明
  • 开始时间 开始时间

吴剑明

Unregistered / Unconfirmed
GUEST, unregistred user!
var
s: Tstringlist;
begin
s := Tstringlist.Create;
s.Add('POST / HTTP/1.1');
s.add('Host: www.163.net');
ClientSocket1.Socket.SendText(s.text);
s.free;
end;
procedure TForm1.ClientSocket1Read(Sender: TObject;
Socket: TCustomWinSocket);
begin
showmessage(socket.ReceiveText);
end;

什么反应也没有,是少了什么?
 
关注,用clientsocket是否一定用tcp/ip,但怎么通过防火墙和代理服务器?
如果用http协议,就可以通过了。
 
应该是:
ClientSocket1.Host:='www.163.net';
ClientSocket1.Port:=80;//或指定的端口
ClientSocket1.active:=true;
在OnWrite中
ClientSocket1.sendtext('请求网页内容');
 
成功了,应该这样发:
s := 'Get / HTTP/1.0'#$D#$A'Host:www.163.com'#$D#$A#$D#$A#$D#$A;
ClientSocket1.Socket.SendText(s);

呵呵,为了不浪费分,请大家讨论一下,如何接受HTTP的响应值比较好。我现在用
ocket.ReceiveText。但这样分析响应值很不方便。
 
HTTP当接收完数据的时候会自动关闭连接的。

才50分也这么节约???
 
多人接受答案了。
 
后退
顶部