TWebBrowser.Navigate 中的postdata参数怎么用?(100分)

  • 主题发起人 主题发起人 xself
  • 开始时间 开始时间
X

xself

Unregistered / Unconfirmed
GUEST, unregistred user!
TWebBrowser.Navigate 中的通过postdata向服务器发送POST数据,
这个参数怎么用啊?
 
学习,
用TWebBrowser.navigate('D:/123.DOC',Flags,TargetFrameName,PostData,Heads);
打开一个word文档,如何使文档打开为只读的呢
 
我刚写了一个,给你个例子

function Encode(const S: string): string;
var
I: Integer;
Hex: string;
begin
for I := 1 to Length(S) do

case S of
' ': result := Result + '+';
'A'..'Z', 'a'..'z', '*', '@', '.', '_', '-',
'0'..'9', '$', '!', '''', '(', ')':
result := Result + s;
else
begin
Hex := IntToHex(ord(S), 2);
if Length(Hex) = 2 then Result := Result + '%' + Hex else
Result := Result + '%0' + hex;
end;
end;
end;

function StringToVarArray(const S: string): Variant;
begin
Result := Unassigned;
if S <> '' then
begin
Result := VarArrayCreate([0, Length(S) - 1], varByte);
Move(Pointer(S)^, VarArrayLock(Result)^, Length(S));
VarArrayUnlock(Result);
end;
end;

procedure TMainForm.btnPostClick(Sender: TObject);
var
vFlags,
vTarget,
vHeaders,
vPost :OleVariant;
I : Integer;
PostData : string;
begin
vHeaders := 'Content-Type: application/x-www-form-urlencoded'#10#13;
PostData := Encode(Format('tr_id=295&tr_place_id=0&tr_to_nickname=%s&tr_present_num=1',[EditTarget.Text]));
vPost := StringToVarArray(PostData);//一定要这样,vPost是一个SAFEARRAY
WebBrowser1.Navigate('http://www.the9.com/treasure/tr_present.php',vflags,vtarget,vPost,vHeaders);
end;

 
我查到的资料也是这样,可是我用了,服务器收不到Postdat的数据呀,我不知怎么回事
 
我是向ASP发的
 
procedure TForm1.Button1Click(Sender: TObject);
var
EncodedDataString:WideString ;
PostData: OleVariant;
Headers: OleVariant;
I: Integer;
begin
EncodedDataString := 'FName=' + HTTPEncode(edtFirstName.Text) + '&' + 'Flavor=' + HttpEncode(cmbxFlavor.Text);
PostData := VarArrayCreate([0, Length(EncodedDataString) - 1], varByte);
for I := 1 to Length(EncodedDataString) do
PostData[I-1] := Ord(EncodedDataString);
Headers := 'Content-Type: application/x-www-form-urlencoded' + #10#13;
WebBrowser1.Navigate('http://211.90.227.130/navpost.asp', EmptyParam,EmptyParam, PostData, Headers);
end;

其中:edtFirstName为EditBox,cmbxFlavor为ComboBox
navpost.asp的内容为:
<HTML>
<head>
<%
cFlavor = Request("Flavor")
cName = Request("FName")
%>
</head>
<BODY>
你好, <% =cName %> ! <br>
其他参数: <% =cFlavor %> <br> <br>
文章推荐:<a href="index.htm">我是黑客</a>
</BODY>
</HTML>
 
解决问题了,cwmdelpher和Omak到http://www.delphibbs.com/delphibbs/dispq.asp?lid=2621959来取另外的分数,同时帮我看看这个问题
http://www.delphibbs.com/delphibbs/dispq.asp?lid=2636190
 
后退
顶部