【问题标题】:Open URLs from mysql table从 mysql 表打开 URL
【发布时间】:2020-11-06 21:28:31
【问题描述】:

我在 MySQL 数据库中有一个表,我只插入 URL。 所以当我运行这个查询时:

SELECT postback_url 
FROM voluum 
LIMIT 20;

我在这个屏幕截图中得到了结果:

我现在需要的只是让 MySQL 在我每次插入新行时打开 URL。 这些 URL 是回发 URL,我们从第三方工具接收它们,因此我们无法选择在他们发送之前从他们身边触发这些回发。 我们现在所做的只是下载这些 URL 并手动打开它们。 有什么方法可以打开第三方工具自动从 Mysql 发送给我们的任何新记录? 谢谢。

【问题讨论】:

  • 我不知道如何从 MySQL 中做到这一点,但编写一个简单的应用程序 + UI 可以做到这一点相当简单。
  • 我不认为 MySQL 可以“打开”这些 URL。您需要做的是使用您熟悉的任何语言创建一个简单的脚本,该脚本循环通过postback_url,并为每个 URL 打开带有该 URL 的 Web 浏览器。但我猜 URL 需要一个 GET 请求,所以你实际上不需要打开网络浏览器,只需向每个 URL 发送一个 GET 请求。
  • 原生,没有 mysql 不支持这样的功能。您可以创建(或使用)已编译的用户定义函数以在 mysql 中实现此类功能,但我会沿着应用程序路线走。会轻松很多!

标签: mysql


【解决方案1】:

不能直接用 MySQL 做。

你可以用PHP来

  1. 读取 MySQL 并提取您需要打开的 URL。
  2. 打开 URL:您可以使用 curl_multi 来执行所有 URL 调用

在此处查看@vincenth 关于 curl_multi 的回复中的示例: How to use curl PHP in loop with 100 time?

【讨论】:

    【解决方案2】:

    这个 php 代码应该可以工作,或者需要稍微完善一下,但请注意,它会打开 20 个选项卡,因为您有 20 个结果...

    <?php 
    echo '<script>'
      $sql = "SELECT * FROM voluum LIMIT 20" ;
      $res = mysqli_query($conn, $sql);
      $results = mysqli_fetch_all($res, MYSQLI_ASSOC);
      foreach (results as result){
       echo 'window.open("'.$result['postback_url'].'" );':
     }
     echo '</script>'
    ?>
    
    

    【讨论】:

      猜你喜欢
      • 2018-07-02
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-12-12
      • 2015-01-31
      • 2015-03-19
      • 1970-01-01
      相关资源
      最近更新 更多