亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

PHP如何用fsockopen函數實現異步請求

發布時間:2020-06-08 22:41:32 來源:億速云 閱讀:310 作者:Leah 欄目:編程語言

這篇文章主要介紹了PHP使用fsockopen實現異步請求的方法,具有一定借鑒價值,需要的朋友可以參考下。如下資料是關于實現異步請求的詳細步驟內容。

我們創建了一個基于fsockopen的函數,這個函數中利用fsockopen去訪問url,但是在訪問時,并不要求獲取url顯示的內容,而是僅僅發出訪問請求,請求到達后馬上關閉這個訪問。

這樣做的好處就是無需再等待被訪問的url是否返回了可靠的信息,節約了時間,這段代碼的執行時間在0.1-0.2秒之間,對于普通訪客而言,幾乎察覺不到。因此,在使用時,僅需要調用這個函數和對應的url即可。不過,這里并沒有提供數據傳輸的部分,如何傳輸數據,其實只需要在$header中增加post的內容即可。

/**
 * @生生 2018/12/24 19:25:06
 * [asynchronous PHP異步執行任務]
 * @param  string $url       執行任務的url地址
 * @param  array  $post_data 需要post提交的數據POST
 * @param  array  $cookie    cookie數據用于登錄等的設置(此處內部調用,無需鑒權)
 * @return boole
 */
public function asynchronous($url,$post_data = array())
{
    $url_array = parse_url($url);
    dump($url_array);
    //用fsockopen()嘗試連接 
    $fp = fsockopen($url_array['host'], 80, $errno, $errstr, 30);
    if (!$fp) {
        echo "$errstr ($errno)<br />\n";
    } else {
        //建立成功后,向服務器寫入數據 
        $getPath = isset($url_array['path']) ? $url_array['path'] : '/';
        $out = "GET /".$getPath."/ HTTP/1.1\r\n";
        $out .= "Host:".$url_array['host']."\r\n";
        $out .= "Connection: Close\r\n\r\n";
       
        fwrite($fp, $out);
        /*忽略執行結果
        while (!feof($fp)) {
            echo fgets($fp, 128);
        }*/
        //關閉鏈接
        fclose($fp);
    }
}

調用方法

/**
*  異步方法
*  參數:(string)要執行的方法url,(array)傳入參數
*/
function yibu(){
    $this->asynchronous('https://www.liqingbo.cn/index.php/admin/index/test',['1'=>'haha']);
    //直接返回結果
    echo '操作成功';
}

以上就是PHP使用fsockopen實現異步請求的方法介紹,詳細使用情況還得要大家自己使用過才能知道具體要領。如果想閱讀更多相關內容的文章,歡迎關注億速云行業資訊頻道!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

临湘市| 炉霍县| 绥德县| 普宁市| 南岸区| 遵义县| 阿图什市| 夹江县| 德阳市| 夏津县| 宜兰市| 华亭县| 资阳市| 乌恰县| 开阳县| 宁远县| 武山县| 陆丰市| 繁昌县| 扶绥县| 巴林左旗| 陈巴尔虎旗| 宜阳县| 峨眉山市| 宕昌县| 贡山| 普兰县| 石柱| 额尔古纳市| 襄汾县| 治多县| 林芝县| 兴隆县| 山丹县| 临清市| 额尔古纳市| 桓台县| 信宜市| 佛冈县| 北京市| 明水县|