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

时间:2013-02-05 09:12:54

标签: delphi delphi-xe2 indy10

  

可能重复:
  Without TWebBrowser input values in form on Button Click and get next webpage response

我们正在使用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; 

1 个答案:

答案 0 :(得分:0)

您所指的网站也会在post-url中添加jsessionid。也许你没有有效的jsessionid就不能发帖?