×ðÁú¿­Ê±¹ÙÍøµÇ¼

Swoole½ø½×£ºÊ¹ÓÃЭ³Ì¾ÙÐÐWebÅÀ³æ¿ª·¢

Ëæ×Å»¥ÁªÍøÊÖÒÕµÄÒ»Ö±Éú³¤£¬webÅÀ³æÒѾ­³ÉΪµ±½ñ»¥ÁªÍøÓ¦Óò»¿É»òȱµÄÒ»²¿·Ö£¬ÆäÔÚÊý¾ÝÊÕÂÞ¡¢ÓªÒµ¾ò¿Í¡¢ÓßÇé¼à²âµÈ·½Ã涼ÓÐÆÕ±éµÄÓ¦Óó¡¾° ¡£È»¶ø¹Å°åµÄwebÅÀ³æͨ³£Ê¹ÓöàÏ̻߳ò¶àÀú³ÌÀ´ÊµÏÖ²¢·¢ÇëÇó£¬ÃæÁÙµÄÎÊÌâ°üÀ¨ÉÏÏÂÎÄÇл»¿ªÏú¡¢ÄÚ´æÕ¼Óùý´óµÈ ¡£¶ø½üÄêÀ´£¬swoole³ÉΪphpÓ¦ÓÃÖеÄÒ»¿ÅÐÂÐÇ£¬ËüµÄЭ³ÌÌØÕ÷¿ÉÒÔΪwebÅÀ³æµÄ²¢·¢ÇëÇóÌṩ¸ßЧµÄ½â¾ö¼Æ»® ¡£

ÔÚ±¾ÎÄÖУ¬½«ÏÈÈÝÔõÑùʹÓÃSwooleЭ³ÌʵÏÖÇáÁ¿¼¶¡¢¸ßЧµÄWebÅÀ³æ ¡£

Swoole¼ò½é

SwooleÊÇ»ùÓÚPHPÓïÑÔʵÏֵĸßÐÔÄÜÍøÂçͨѶ¿ò¼Ü£¬Æä×î´óµÄÌصãÊÇÖ§³ÖЭ³Ì ¡£Ð­³ÌÊÇÒ»ÖÖÓû§Ì¬µÄÇáÁ¿¼¶Ị̈߳¬Óë¹Å°åµÄÏ̺߳ÍÀú³ÌÏà±È£¬Ð­³ÌµÄÉÏÏÂÎÄÇл»¿ªÏúС¡¢ÄÚ´æÕ¼ÓÃÉÙ£¬¿ÉÒÔ¸üºÃµØÊ©Õ¹CPUµÄÐÔÄÜ ¡£

ʹÓÃSwooleʵÏÖWebÅÀ³æ

SwooleµÄЭ³ÌÌØÕ÷ΪWebÅÀ³æµÄ¿ª·¢ÌṩÁËÒ»¸öºÜÊǺõÄƽ̨ ¡£¹Å°åµÄWebÅÀ³æÔÚ²¢·¢ÇëÇóʱÍùÍùÐèÒªÏûºÄ´ó×ÚµÄϵͳ×ÊÔ´£¬¶øʹÓÃSwooleЭ³Ì¿ÉÒÔÇáËÉʵÏָ߲¢·¢ÇëÇó£¬Í¬Ê±»¹ÄÜ×èÖ¹¹Å°åµÄÏß³ÌÇл»´øÀ´µÄ¿ªÏú ¡£

ÒÔÏÂÊÇÒ»¸ö¼òÆÓµÄʹÓÃSwooleʵÏÖµÄWebÅÀ³æʾÀý£º

<?php
// 1. ½¨ÉèSwoole HTTPЧÀÍÆ÷
$http = new SwooleHttpServer("0.0.0.0", 9501);

// 2. ´¦ÀíÇëÇó
$http->on('request', function ($request, $response) {
    // 3. ·¢ËÍHTTPÇëÇó
    $cli = new SwooleCoroutineHttpClient('www.m.linesum.net', 80);
    $cli->setHeaders([
        'Host' => "www.m.linesum.net",
        "User-Agent" => 'Chrome/49.0.2587.3',
        'Accept' => 'text/html,application/xhtml+xml,application/xml',
        'Accept-Encoding' => 'gzip',
    ]);
    $cli->get('/');

    // 4. ÏìÓ¦HTMLÄÚÈÝ
    $response->header("Content-Type", "text/html; charset=utf-8");
    $response->end($cli->body);
});

// 5. Æô¶¯HTTPЧÀÍÆ÷
$http->start();

µÇ¼ºó¸´ÖÆ

ÒÔÉÏʾÀý´úÂ뽨ÉèÁËÒ»¸öSwoole HTTPЧÀÍÆ÷£¬¼àÌý¶Ë¿ÚºÅ9501 ¡£µ±ÓÐHTTPÇëÇóµÖ´ïʱ£¬Ð§ÀÍÆ÷½«·¢ËÍHTTPÇëÇóµ½°Ù¶ÈÍøÕ¾£¬²¢ÏìÓ¦HTMLÄÚÈÝ ¡£

SwooleЭ³ÌHTTP¿Í»§¶Ë

SwooleÌṩÁË»ùÓÚЭ³ÌµÄHTTP¿Í»§¶Ë£¬Í¨¹ýЭ³Ì¿ÉÒÔÔÚµ¥¸öÀú³ÌÄÚÀïͬʱÌᳫ¶à¸öHTTPÇëÇ󣬲¢ÐÐÖ´ÐÐÇëÇ󣬶øÎÞÐ迪Æô¶à¸öÏ̻߳òÀú³Ì ¡£

Э³ÌHTTP¿Í»§¶ËµÄʹÓúÜÊǼòÆÓ£¬ÒÔÏÂÊÇÒ»¸öʹÓÃʾÀý£º

<?php
// 1. ½¨ÉèЭ³ÌHTTP¿Í»§¶Ë
$cli = new SwooleCoroutineHttpClient('www.m.linesum.net', 80);

// 2. ÉèÖÃÇëÇóÍ·
$cli->setHeaders([
    'Host' => "www.m.linesum.net",
    "User-Agent" => 'Chrome/49.0.2587.3',
    'Accept' => 'text/html,application/xhtml+xml,application/xml',
    'Accept-Encoding' => 'gzip',
]);

// 3. ·¢ËÍHTTPÇëÇó
$cli->get('/');

// 4. Êä³öÏìÓ¦ÄÚÈÝ
echo $cli->body;

µÇ¼ºó¸´ÖÆ

ÒÔÉÏʾÀý´úÂ뽨ÉèÁËÒ»¸öЭ³ÌHTTP¿Í»§¶Ë£¬ÉèÖÃÇëÇóÍ·ºó·¢ËÍHTTPÇëÇ󣬲¢Êä³öÏìÓ¦ÄÚÈÝ ¡£

ÔËÓÃЭ³ÌʵÏÖÅÀ³æÅÀÈ¡

ʹÓÃSwooleЭ³ÌHTTP¿Í»§¶Ë£¬ÎÒÃÇ¿ÉÒÔÇáËɵØʵÏÖ¸ßÐÔÄܵÄWebÅÀ³æ ¡£ÒÔÏÂÊÇÒ»¸öʹÓÃЭ³ÌʵÏÖµÄÅÀ³æʾÀý£º

<?php
// 1. ץȡ°Ù¶ÈËÑË÷Ч¹ûµÄÒ³Ãæ
$html = file_get_contents('https://www.m.linesum.net/s?ie=UTF-8&wd=swoole');

// 2. ÆÊÎöHTML£¬ÌáÈ¡ËÑË÷Ч¹ûÁбíµÄURL
preg_match_all('/<a.*?href="(.*?)".*?>/is', $html, $matches);
$urls = $matches[1];

// 3. ²¢·¢ÇëÇóËÑË÷Ч¹ûÁбíµÄURL
$cli = new SwooleCoroutineHttpClient('www.m.linesum.net', 80);
foreach ($urls as $url) {
    $cli->setHeaders([
        'Host' => "www.m.linesum.net",
        "User-Agent" => 'Chrome/49.0.2587.3',
        'Accept' => 'text/html,application/xhtml+xml,application/xml',
        'Accept-Encoding' => 'gzip',
    ]);
    $cli->get($url);
    echo $cli->body;
}

// 4. ¹Ø±ÕHTTP¿Í»§¶Ë
$cli->close();

µÇ¼ºó¸´ÖÆ

ÒÔÉÏʾÀý´úÂëÊ×ÏÈץȡ°Ù¶ÈËÑË÷¡°swoole¡±Òªº¦×ÖµÄÒ³Ã棬²¢ÆÊÎöHTML£¬ÌáÈ¡ËÑË÷Ч¹ûÁбíµÄURL£¬²¢²¢·¢ÇëÇóÕâЩURL ¡£

×ܽá

Swoole×÷Ϊһ¸ö¸ßÐÔÄܵÄÍøÂçͨѶ¿ò¼Ü£¬ÆäЭ³ÌÌØÕ÷ΪWebÅÀ³æµÄ¿ª·¢ÌṩÁ˸ßЧµÄ½â¾ö¼Æ»® ¡£Ê¹ÓÃSwooleЭ³ÌHTTP¿Í»§¶Ë£¬¿ÉÒÔ´ó·ùÌáÉýWebÅÀ³æµÄ²¢·¢ÇëÇóÄÜÁ¦£¬Í¬Ê±×èÖ¹¶àÏ̻߳ò¶àÀú³Ì´øÀ´µÄ×ÊÔ´ÏûºÄºÍÉÏÏÂÎÄÇл»¿ªÏú ¡£

ÒÔÉϾÍÊÇSwoole½ø½×£ºÊ¹ÓÃЭ³Ì¾ÙÐÐWebÅÀ³æ¿ª·¢µÄÏêϸÄÚÈÝ£¬¸ü¶àÇë¹Ø×¢±¾ÍøÄÚÆäËüÏà¹ØÎÄÕ£¡

ÃâÔð˵Ã÷£ºÒÔÉÏչʾÄÚÈÝȪԴÓÚÏàÖúýÌå¡¢ÆóÒµ»ú¹¹¡¢ÍøÓÑÌṩ»òÍøÂçÍøÂçÕûÀí£¬°æȨÕùÒéÓë±¾Õ¾Î޹أ¬ÎÄÕÂÉæ¼°¿´·¨Óë¿´·¨²»´ú±í×ðÁú¿­Ê±¹ÙÍøµÇ¼ÂËÓÍ»úÍø¹Ù·½Ì¬¶È£¬Çë¶ÁÕß½ö×ö²Î¿¼ ¡£±¾ÎĽӴýתÔØ£¬×ªÔØÇë˵Ã÷À´ÓÉ ¡£ÈôÄúÒÔΪ±¾ÎÄÇÖÕ¼ÁËÄúµÄ°æȨÐÅÏ¢£¬»òÄú·¢Ã÷¸ÃÄÚÈÝÓÐÈκÎÉæ¼°ÓÐÎ¥¹«µÂ¡¢Ã°·¸Ö´·¨µÈÎ¥·¨ÐÅÏ¢£¬ÇëÄúÁ¬Ã¦ÁªÏµ×ðÁú¿­Ê±¹ÙÍøµÇ¼ʵʱÐÞÕý»òɾ³ý ¡£

Ïà¹ØÐÂÎÅ

ÁªÏµ×ðÁú¿­Ê±¹ÙÍøµÇ¼

18523999891

¿É΢ÐÅÔÚÏß×Éѯ

ÊÂÇéʱ¼ä£ºÖÜÒ»ÖÁÖÜÎ壬9:30-18:30£¬½ÚãåÈÕÐÝÏ¢

QR code
ÍøÕ¾µØͼ