首页 > 解决方案 > Indy MappedTCPPort 标头

问题描述

我想在 url http://127.0.0.1:8080上发出请求 我正在使用 TidMappedPortTCP 组件(indy 10)在执行时我有以下代码

procedure TForm1.IdMappedPortTCP1Execute(AContext: TIdContext);
var MyHeaders:Tstringlist;
begin

try
   MyHeaders:=Tstringlist.Create;

TIdMappedPortContext(AContext).NetData:=ToBytes('');
MyHeaders.clear;
MyHeaders.add('GET /Myfile.mp4 HTTP/1.1');
MyHeaders.add('Accept-Encoding:identity;q=1, *;q=0');
MyHeaders.add('Connection:keep-alive');
MyHeaders.add('Accept:*/*');
MyHeaders.add('Accept-Language:en-US,en;q=0.9');
MyHeaders.add('Host:'+'112.32.12.115');
MyHeaders.add('Referer: MyappName');
MyHeaders.add('User-Agent:Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/70.0.3538.67 Safari/537.36');
//MyHeaders.add(''); Do i need also this?
TIdMappedPortContext(AContext).NetData:=ToBytes(MyHeaders.text);

finally
    MyHeaders.Free;
end;

end;

我不知道我在做什么错,但标头是在没有 Crlf 的情况下发送的(#13#10)。这种方式是覆盖我的请求标头的正确方法吗?

标签: delphiindy

解决方案


推荐阅读