Препоръчвам ти да се запознаеш с ХТТП протокола и с методите за обмен на данни Get и Post
Изпращам ти една моя процедурка за генериране на POST заявка към WEB сървър - повечето параметри се задават от различни контроли сложени във формата на делфи.
Има и един компонент WebBrowser1 (тип tWebBrowser), накрая се изпълнява методът му Navigate2
{}procedure TForm1.Button_URL_POSTClick(Sender: TObject);
{}function HTTPTran(St : String) : String;
var i : Integer;
begin
Result:='';
for i:=1 to length(St) do begin
if St in ['a'..'z','A'..'Z','0','1'..'9'] then begin
Result:=Result+St
end else begin
if St=' ' then begin
Result:=Result+'+'
end else begin
Result:=Result+'%'+IntToHex(Byte(St),2);
end;
end;
end;
end;
var
vWebAddr, vPostData, vFlags, vFrame, vHeaders: OleVariant;
iLoop: Integer;
stPostData: string;
begin
{And the other stuff.}
vWebAddr := ComboBox_URL.Text;
stPostData := ComboBox_POST.Text;
if Length(stPostData)> 0 then begin
{Require this header information if there is stPostData.}
vHeaders:= 'Content-Type: application/x-www-form-urlencoded'+ #10#13#0;
{Set the variant type for the vPostData.}
vPostData:= VarArrayCreate([0, Length(stPostData)], varByte);
for iLoop := 0 to Length(stPostData)- 1 do begin // Iterate
vPostData[iLoop]:= Ord(stPostData[iLoop+ 1]);
end; // for
{Final terminating Character.}
vPostData[Length(stPostData)]:= 0;
{Set the type of Variant, cast}
TVarData(vPostData).vType:= varArray;
end;
{Make the call Rex.}
WebBrowser1.Navigate2(vWebAddr, vFlags, vFrame, vPostData, vHeaders);
end; {End of Navigate procedure.}
ПП
не знам защо излиза през ред.
И в ComboBox_POST има следните редове:
ft_UserName=v&ft_Password=1
Par1=123456&Par2=987654
(при теб ще са други, в зависимост от сайта, който ще манипулираш)
това са Post parametrite
Редактирано от NikB на 15.10.06 17:39.