• 请求

    请求

    1. <?php
    2. <?php
    3. include "./vendor/autoload.php";
    4. \EasySwoole\EasySwoole\Core::getInstance()->initialize();
    5. go(function () {
    6. $client = new \EasySwoole\HttpClient\HttpClient();
    7. $client->setUrl('http://a.cn');//设置url,注意需要http和https,https 需要swoole扩展开启ssl
    8. $client->setTimeout(0.1);//设置超时时间
    9. $client->setConnectTimeout(0.1);//设置连接超时时间
    10. $client->setClientSettings(['timeout' => 0.1, 'connect_timeout' => 0.1]);//配置客户端的配置(将覆盖原有配置),可参考https://wiki.swoole.com/wiki/page/726.html
    11. $client->setClientSetting('timeout', 0.1);//配置单个配置
    12. $client->setHeaders([
    13. "User-Agent" => 'EasySwooleHttpClient/0.1',
    14. 'Accept' => 'text/html,application/xhtml+xml,application/xml',
    15. 'Accept-Encoding' => 'gzip',
    16. 'Pragma' => 'no-cache',
    17. 'Cache-Control' => 'no-cache'
    18. ]);//配置请求头(将覆盖原有配置)
    19. // $client->setHeader('User-Agent','EasySwooleHttpClient/1');//设置一个请求头
    20. // $client->post(['name','这是post的内容']);//发送一段post内容
    21. // $client->postJSON(json_encode(['name2','这是post的内容']));//发送一段post json内容
    22. // $client->postXML("<name2>这是post的内容</name2>");//发送一段post xml内容
    23. // $client->addFile("./1.txt",'file1','txt','1.txt','0',strlen(file_get_contents('./1.txt')));//发送一个文件,注意需要文件大小
    24. // $client->addData('这是文件的内容','data1','txt','1.txt');//发送一段内容转换成文件发送
    25. $client->addCookies(['aa'=>'a','bb'=>'b']);//设置cookie(将覆盖原有配置)
    26. $client->addCookie('a','a');//设置一个cookie
    27. $response = $client->exec();//执行请求
    28. echo ($response->getBody());
    29. // var_dump($client->getSwooleHttpClient()->headers);//获取swoole 原始http client
    30. //并发请求
    31. $multi = new \EasySwoole\HttpClient\Multi();
    32. $multi->addTask('tast1',$client);
    33. $multi->addTask('tast2',$client);
    34. $multi->addTask('tast3',$client);
    35. var_dump($multi->exec());//执行并发请求
    36. });