在不使用TwebBrowser的情况下在HTMLforms中发布值

可能重复:
没有TWebBrowser输入值的按钮点击形式,并获得下一个网页响应

我们正在使用Delphi Xe2和Indy 10组件。

我们需要在HTML页面中输入值,然后单击搜索按钮并获取下一个结果网页,而不使用TWebBrowser。 当我们在URL上发布参数时,我无法获得结果网页。

在Post上,我们获取当前页面的HTML代码。 我们如何才能得到结果网页作为回应?

我们正在使用的代码:

procedure TForm1.Button1Click(Sender: TObject);
Var
  aStream  : TStringStream;
  data         : TIdMultiPartFormDataStream;
begin
  aStream  := TStringStream.Create;
  data     := TIdMultiPartFormDataStream.Create;
  try
    with IdHTTP1 do
    begin
      data.AddFormField('DEP_PORT', 'Basel');
      data.AddFormField('ARR_PORT', 'Gaziantep');
      Request.UserAgent      := 'Mozilla/5.0 (Windows NT 6.1; WOW64; rv:18.0) Gecko/20100101 Firefox/18.0';
      Request.AcceptLanguage  := 'en-US,en;q=0.5';
      Request.Connection         :=  'keep-alive';
      Request.Accept                := 'text/html';
      IOHandler     := SSL;
      try
        Post('https://sun.sunexpress.com.tr/web/RezvEntry.xhtml?LANGUAGE=EN', data, aStream);
      except
      on E: Exception do
        showmessage('Error encountered during POST: ' + E.Message);
      end;
    end;
    Memo1.Lines.Add(aStream.DataString);

  except
  end;
end; 

您所指的网站也会在后期网址中添加jsessionid。 也许你不能发布没有有效的jsessionid?

链接地址: http://www.djcxy.com/p/60477.html

上一篇: Post values in HTMLforms without using TwebBrowser

下一篇: How to create "No Activate" form in Firemonkey