【问题标题】:Hit multiple url without getting response in php在php中点击多个url而没有得到响应
【发布时间】:2017-06-06 18:46:56
【问题描述】:

我的数据库中有多个 url,想在不使用 php 得到响应的情况下点击它们。

有没有办法做到这一点..

【问题讨论】:

  • 你可以用任何你能想象到的在服务器上运行的语言来做到这一点 - 但如果你的服务器运行 PHP 并且你的选择仅限于该一种语言
  • 我想在不使用数据库的情况下从后端访问 url

标签: php curl


【解决方案1】:
public function multiUrlUsingCurl($urls)
{
        $sg = curl_multi_init();

        $results = array();
        foreach ($urls as $key => $url) {

            $results[$key] = curl_init();
            curl_setopt_array($results[$key], array(
                CURLOPT_URL => $url,
                CURLOPT_RETURNTRANSFER => true,
                CURLOPT_FOLLOWLOCATION => true
            ));

            curl_multi_add_handle($sg, $results[$key]);
        }

        $flag = null;
        do {
            $status = curl_multi_exec($sg, $flag);
        }
        while ($flag);

        foreach ($results as $res) {
            echo curl_multi_getcontent($res);
            curl_multi_remove_handle($sg, $res);
            curl_close($res);
        }

        curl_multi_close($sg);
}

【讨论】:

    【解决方案2】:

    然后您必须将您的条目保存在一个文件中,可以是 ASCII 格式,也可以是 json 等序列化字符串,或者您可以将其保存为 xml。但我建议您将其保存为 json 字符串。它非常简单。

    编辑:

    帮助您入门的快速 sn-p:

    function getUrlList($fileName)
    {
        if(file_exists($fileName)) {
            return json_decode(file_get_contents($fileName), true);
        }
        return array();
    }
    
    function saveUrl($fileName, $newUrl)
    {
        if(file_exists($fileName)) {
            $list = json_decode(file_get_contents($fileName), true);
            $list = array_merge($list, $newUrl);
            file_put_contents($fileName, json_encode($list));
            return true;
        }
        return false;
    }
    
    $fileName = 'myFileDB.json';
    $UrlToSave = array('id' => uniqid(), 'url' => someUrlYouWantToSave);
    saveUrl($fileName, $urlToSave);    // To save Url
    
    // To get List
    $urlsList = getUrlList($fileName);
    

    您可以从那里扩展功能以编辑 url 或进行一些其他操作来操作数据。您还必须确保要保存 url 的文件中有一个空的 json 字符串。您可以编写一些逻辑来执行此操作,或者为了简单起见将 {} 放在一个文件中。

    【讨论】:

    • 在文件中保存条目后接下来会发生什么??请解释
    猜你喜欢
    • 2021-06-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-05-27
    • 1970-01-01
    相关资源
    最近更新 更多