怎样用idhttp实现下面网页的提交功能?
网页:
<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>”
[解决办法]
修改useragent试试
idhtp1.Request.UserAgent := 'Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.1)'
[解决办法]
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;