【问题标题】:Inno Setup open link with an HTTP POST requestInno Setup 打开带有 HTTP POST 请求的链接
【发布时间】:2015-12-15 19:12:47
【问题描述】:

我有以下代码:

[Run]
Filename: https://example.com/; Flags: shellexec;

我想在发送 HTTP POST 请求时在浏览器中打开此链接。

如果可能,我想发送带有 JSON 内容的 HTTP POST 请求。

如何在 Inno Setup 中做到这一点?

【问题讨论】:

  • "post" - 您是指发送电子邮件,还是发出 HTTP Post 请求?如果是后者,看这里。stackoverflow.com/questions/4797534/…
  • 然后查看我链接的问题。它需要安装浏览器扩展程序或其他工具,例如 curl
  • 但是我无法在inno setup中自动下载那个扩展,有没有更好的解决方案?

标签: http browser inno-setup


【解决方案1】:

我只需创建一个本地 .html 文件,其中包含发送 HTTP Post 所需的 Javascript,然后通过 inno 设置打开它。

请参阅此页面重新 XMLHTTPRequest: https://developer.mozilla.org/en-US/docs/Web/API/XMLHttpRequest

..还有这个相关的问题:Sending an HTTP Post using Javascript triggered event

【讨论】:

  • 但这不会打开浏览器,对吧?如果我理解的问题正确,重点是打开浏览器。
  • @MartinPrikryl 在 .HTML 文件上使用 Inno Setup "shellexec" 只会在默认浏览器中打开它。
  • 好的,这可能行得通。但是您链接到的代码仍然不会将浏览器重定向到 POST 结果。它只会在幕后发布,不是吗?
  • 我想使用 POST 的原因之一是因为我正在发送敏感信息。如果我创建 .html 文件,用户是否有可能打开文件并检索敏感信息?
  • @yuval 它是安装程序和浏览器之间的不安全位。未加密的数据位于 PC 内存中的某个位置。你只能让它“尴尬”地让电脑的所有者找到它。
【解决方案2】:

我认为没有任何标准方法可以在外部使用POST 方法使浏览器导航到 URL。

你最好用与浏览器相关的标签提出一个新问题,询问这是否可能。只有当你找到了这样做的方法(我怀疑是否有这样的方法),你才能在 Inno Setup 中询问如何做到这一点。


虽然你真的需要POST 方法吗?做什么的?只需修改您的 Web 应用程序以允许 GET

或者是第 3 方应用程序,创建您自己的页面,接受 GET 并将其转发给第 3 方作为 POST


如果您需要隐藏发布的内容,该怎么办:

  • 从 Inno Setup (HTTP POST request in Inno Setup Script) 发布数据
  • 让 Web 应用程序将数据保存在某处(数据库、文件)
  • 让网页向POST 响应中的数据(例如数据库密钥、文件名)返回一个令牌。
  • 让 Inno Setup 使用查询字符串中的令牌(键)打开纯 URL (GET)
  • Web 应用使用令牌(键)查找数据并显示结果

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-02-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-08-03
    相关资源
    最近更新 更多