Delphi基于TIdhttp方法发送cookie实例

Delphi使用TIdhttp发送Cookie的例子,是模拟发送,当使用TIdHttp执行网络请求时模拟cookie值发送到服务器端。思路是先用一个for循环删除原来的cookie值,然后再使用Request.CustomHeaders.Add方法创建cookies:

01uses StrUtils;
02procedure TForm1.Button1Click(Sender: TObject);
03var
04  J: Integer;
05  HtmlStr: string;
06begin
07  //删除原有cookie值
08  for J := IdHTTP1.Request.CustomHeaders.Count - 1 downto 0 do begin
09    if StartsText('cookie:', IdHTTP1.Request.CustomHeaders[J]) then
10      IdHTTP1.Request.CustomHeaders.Delete(J);
11  end;
12  IdHTTP1.Request.CustomHeaders.Add('Cookie: username=bcoder' ) ;
13  //下面的方法也可实现,不过没测试过
14  //IdHTTP1.Request.CustomHeaders.Values['cookie'] := 'username=bcoder';
15  HtmlStr := IdHTTP1.Get('http://www.baidu.com');
16end;

TIdhttp的一个属性,AllowCookies,当此值为False时允许用户发送自定义的cookie,当此值为True时,不允许用户发送自定义的cookie。