【发布时间】:2014-07-29 06:11:13
【问题描述】:
目前我能够运行命令,但我不知道如何将结果转换为字符串。
我就是这样
idhttp1.get('http://codeelf.com/games/the-grid-2/grid/',TStream(nil));
一切似乎运行正常,在wireshark 中我可以看到该命令的结果。现在如果我这样做了
HTML := idhttp1.get('http://codeelf.com/games/the-grid-2/grid/');
它会冻结应用程序,在wireshark中我可以看到它发送了GET并得到了响应,但不知道它为什么会冻结。 HTML 只是一个字符串变量。
编辑完整代码
按钮点击
login(EUserName.Text,EPassWord.Text);
procedure TForm5.Login(name: string; Pass: string);
var
Params: TStringList;
html : string;
begin
Params := TStringList.Create;
try
Params.Add('user='+name);
Params.Add('pass='+pass);
Params.Add('sublogin=Login');
//post password/username
IdHTTP1.Post('http://codeelf.com/games/the-grid-2/grid/', Params);
//get the grid source
HTML := idhttp1.Get('http://codeelf.com/games/the-grid-2/grid/');
finally
Params.Free;
end;
llogin.Caption := 'Logged In';
end;
响应
我得到的回复说Transfer-Encoding: chunked\r\n 和Content-Type: text/html\r\n 不知道这是否重要。
谢谢
【问题讨论】:
-
为什么要谈备忘录?你知道如何使用备忘录吗?或者是 GET 的问题?专注于一个问题,让事情变得简单。我怀疑这是GET。你真的找不到示例代码吗?就好像你根本没有研究一样。
-
问题中的代码很好,分配给 HTML 的行。您的问题出在我们看不到的代码中。大概。您是否尝试过制作一个只调用 Get 的非常简单的程序?
-
@DavidHeffernan 这是我从冻结和不冻结更改的所有代码,我什至不在其他任何地方使用 HTML。我将发布大约 10 行的所有代码..给我一秒钟来更新它
-
@DavidHeffernan 现在你能明白我为什么把它贴在这里了吗?我不明白为什么它会冻结。也没有示例可以告诉我?
-
分块 Http 响应导致 Get 阻塞。持久连接不断地从服务器接收数据。
标签: delphi delphi-xe2 indy10