如何指定POST的参数 (20分)

  • 主题发起人 主题发起人 lancers
  • 开始时间 开始时间
L

lancers

Unregistered / Unconfirmed
GUEST, unregistred user!
[?]在1个URL里,如果我只需要对其中的某一个量进行POST操作,应该怎么办??
procedure Post(URL, PostData: string); virtual;[?]
 
急啊,大家帮忙
 
没有人知道吗???
 
有没有知道的???我都问了这么多天了![:(!][:(]
 
最后一次问这个问题,帮我解决的我再加分咯,不然就只有结束再想办法了
 
类似的你改写成一个 参数的就行啦。


procedure TFrmUrlCommit.CommitUrlData(vRefererUrl: OleVariant;
UserField, UserValue, PasswordField, PasswordValue: string;
OtherPostData: OleVariant);
// 内部小函数,把提交字符串写入variant;
function GetPostData(Content: string): OleVariant;
var
I: Integer;
begin
Result := VarArrayCreate([0, length(content)], varByte);
for i := 0 to Length(content) - 1 do
begin
Result := Ord(content[i + 1]);
end;
Result[Length(content)] := 0;
end;
// 内部小函数结束
var
vHeaders, vPostData, vFrame, vFlags, vCommitData: OleVariant;
aWBCommit: TWebBrowser;
begin
aWBCommit := TWebBrowser.Create(nil);
vHeaders := 'Content-Type: application/x-www-form-urlencoded' + #10#13#0;

if VarIsNull(OtherPostData) then
vCommitData := UserField + '=' + UserValue + '&' +
PasswordField + '=' + PasswordValue
else
vCommitData := UserField + '=' + UserValue + '&' +
PasswordField + '=' + PasswordValue + '&' + OtherPostData;
vPostData := GetPostData(vCommitData);
vFlags := 31;
TVarData(vPostData).vType := varArray;
aWBCommit.Navigate2(vRefererUrl, vFlags, vFrame, vPostData, vHeaders);
FreeAndNil(aWBCommit);
end;
 
后退
顶部