【问题标题】:Post values in HTMLforms without using TwebBrowser [duplicate]在不使用 TwebBrowser 的情况下在 HTML 表单中发布值 [重复]
【发布时间】:2013-02-05 09:12:53
【问题描述】:

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

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

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

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

我们正在使用的代码:

过程 TForm1.Button1Click(Sender: TObject); 变量 流:TStringStream; 数据:TIdMultiPartFormDataStream; 开始 aStream := TStringStream.Create; 数据:= TIdMultiPartFormDataStream.Create; 尝试 用 IdHTTP1 做 开始 data.AddFormField('DEP_PORT', '巴塞尔'); data.AddFormField('ARR_PORT', '加济安泰普'); 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; 尝试 Post('https://sun.sunexpress.com.tr/web/RezvEntry.xhtml?LANGUAGE=EN', data, aStream); 除了 E:例外 showmessage('POST 过程中遇到错误:' + E.Message); 结尾; 结尾; Memo1.Lines.Add(aStream.DataString); 除了 结尾; 结尾;

【问题讨论】:

    标签: delphi delphi-xe2 indy10


    【解决方案1】:

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

    【讨论】:

    • 这是 cookie,但表单数据中有 much more to add。我没有尝试过问题中的代码,但是(即使假设 SSL 配置正确)我也不希望航班预订系统通过仅输入出发和到达目的地来获取一些合理的结果。
    • 感谢 birger 和 TLama,抱歉重复发布。但我们没有得到回应。没有办法发布数据吗?
    猜你喜欢
    • 1970-01-01
    • 2012-07-24
    • 2014-12-10
    • 2013-03-25
    • 1970-01-01
    • 2020-12-12
    • 1970-01-01
    • 2012-10-05
    • 1970-01-01
    相关资源
    最近更新 更多