【发布时间】:2025-12-18 01:15:02
【问题描述】:
我收到一个错误的请求,我的代码有什么问题
procedure TForm1.Button1Click(Sender: TObject);
begin
TCPClient1.Host :='aavtrain.com';
TCPClient1.Port := 80;
TCPClient1.ConnectTimeout := 10000;
TCPClient1.OnConnected := TCPClient1Connected;
TCPClient1.ReadTimeout := 5000;
TCPClient1.Connect;
end;
procedure TForm1.TCPClient1Connected(Sender: TObject);
var
s: string;
begin
//
TCPClient1.Socket.WriteLn('POST HTTP/1.1');
TCPClient1.Socket.WriteLn(sLineBreak);
IdTCPClient1.Socket.WriteLn('http://aavtrain.comindex.asp');
IdTCPClient1.Socket.WriteLn(sLineBreak);
TCPClient1.Socket.WriteLn('user_name=binary');
TCPClient1.Socket.WriteLn('&password=12345');
TCPClient1.Socket.WriteLn('&Submit=Submit');
TCPClient1.Socket.WriteLn('&login=true');
TCPClient1.Socket.WriteLn(sLineBreak);
repeat
s := TCPClient1.Socket.ReadLn('');
Memo1.Lines.Add(s);
until s.Contains('try again');
TCPClient1.Disconnect;
end;
【问题讨论】:
-
如果我是你,我会使用
TIdHTTPinstance,因为它内置了 post 方法... -
请提供minimal reproducible example。为什么在您的代码中使用
TCPClient1和IdTCPClient1?请永远不要显示假代码。 -
我想了解一下,我可以使用 idhttp 和 tnethttpclient 和 succès,但我想看看 van 是如何使用 idtcpclient 完成的
标签: sockets delphi post connection tcpclient