网页:
<html>
<head>
</head>
<body>
<form id='frm1' action='http://www.abc.com?siteId=1&dt=GMT' method='post'><input type='hidden' name='token' value='7f0ef6145721e3c21c'></input>
<input type="submit" />
</form>
</html>
我的 代码:
procedure TForm1.btnTestPostClick(Sender: TObject);
begin
var
  data: TIdMultiPartFormDataStream;
  dstFileName: string;
begin
  data := TIdMultiPartFormDataStream.Create;
  data.AddFormField('token', '7f0ef6145721e3c21c');  showmessage(idhtp1.Post('http://www.abc.com?siteId=1&dt=GMT', Data));
end;
end;
调用返回消息提示:“<html>... sorry,your navigator doesnot support Iframe ...</html>”

解决方案 »

  1.   

    修改useragent试试
    idhtp1.Request.UserAgent := 'Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.1)'
      

  2.   

    退而求其次,使用TWebBrowser发起请求。
    wbMain.Navigate(fciURL, 1, '_blank', data, header);
    data, header该怎么写?
      

  3.   

    var
      PostData,Headers:OleVariant;
      EncodedDataString:Ansistring;
    begin
      EncodedDataString:='TPL_username='+Username;//此处将post的数据加入
      。。
      PostData := VarArrayCreate([0, Length(EncodedDataString) - 1], varByte);
      for I := 1 to Length(EncodedDataString) do
        PostData[I-1] := Ord(EncodedDataString[I]);
      Headers:='Content-Type: application/x-www-form-urlencoded'+#13#10;
    end;