请求

  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. });