请求
实例化客户端
<?php/** * Created by PhpStorm. * User: tioncico * Date: 19-6-22 * Time: 下午2:43 */include "./vendor/autoload.php";\EasySwoole\EasySwoole\Core::getInstance()->initialize();go(function () { //实例化 $client = new \EasySwoole\HttpClient\HttpClient('http://easyswoole.com');});
请求实例:
<?php /** * Created by PhpStorm. * User: tioncico * Date: 19-6-22 * Time: 下午2:43 */ include "./vendor/autoload.php"; \EasySwoole\EasySwoole\Core::getInstance()->initialize(); go(function () { //实例化 $client = new \EasySwoole\HttpClient\HttpClient('http://easyswoole.com'); //发起一个简单get请求 $response = $client->get(); var_dump($response); //发起一个简单head请求 $response = $client->head(); var_dump($response); //发起一个delete请求 $response = $client->delete(); //发起一个put请求 $response = $client->put('testPut'); //发起一个post请求 $response = $client->post([ 'post1' => 'post1' ]); //发起一个patch请求 $response = $client->patch('testPath'); //发起一个option请求 $response = $client->options(['op' => 'op1'], ['head' => 'headtest']); //发起post xml格式请求 $response = $client->postXml('<xml></xml>'); //发起post json格式请求 $response = $client->postJson(json_encode(['json' => 'json1'])); //发起下载请求,请求的内容将直接写入文件,节省一次读取写入的过程 $response = $client->download('./test.html'); //发起一个post请求 $response = $client->post('postStr'); //发起一个post 新增文件的请求 $response = $client->post([ 'post1' => 'post1', 'file' => new \CURLFile(__FILE__) ]); //设置head头 $client->setHeaders([ 'head1' => 'head1', 'head2' => 'head2' ]); // 设置 basic auth $client->setBasicAuth('admin', '111111'); $client->setHeader('head1', 'head1'); //设置cookie $client->addCookies([ 'cookie1' => 'cookie1', 'cookie2' => 'cookie2' ]); $client->addCookie('cookie1', 'cook'); //设置form data数据 $client->setContentTypeFormData(); ///设置当前要请求的URL $client->setUrl('http://easyswoole.com'); //设置是否开启ssl $client->setEnableSSL(false); //设置等待超时时间 $client->setTimeout(5); //设置连接超时时间 $client->setConnectTimeout(10); // 启用或关闭HTTP长连接 $client->setKeepAlive(true); //启用或关闭服务器证书验证 //可以同时设置是否允许自签证书(默认不允许) $client->setSslVerifyPeer(true,true); //设置服务器主机名称 //与ssl_verify_peer配置或Client::verifyPeerCert配合使用 $client->setSslHostName(''); //设置验证用的SSL证书 $client->setSslCafile(''); //设置SSL证书目录(验证用) $client->setSslCapath(''); //设置请求使用的证书文件 $client->setSslCertFile(''); //设置请求使用的证书秘钥文件 $client->setSslKeyFile(''); //设置HTTP代理 $client->setProxyHttp('127.0.0.1','8080','user','pass'); //设置Socks5代理 $client->setProxySocks5('127.0.0.1','8080','user','pass'); // 设置端口绑定 // 用于客户机有多张网卡的时候 // 设置本客户端底层Socket使用哪张网卡和端口进行通讯 $client->setSocketBind('127.0.0.1','8090'); //直接设置客户端配置 $client->setClientSetting('timeout',1); $client->setClientSetting('keep_alive',true); //直接批量设置客户端配置 $client->setClientSettings([ 'bind_address'=>'127.0.0.1', 'bind_port'=>'8090', ]); //设置请求方法 $client->setMethod('POST'); //设置为XMLHttpRequest请求 $client->setXMLHttpRequest(); //设置为Json请求 $client->setContentTypeJson(); //设置为Xml请求 $client->setContentTypeXml(); //设置为FromData请求 $client->setContentTypeFormData(); //设置为FromUrlencoded请求 $client->setContentTypeFormUrlencoded(); //设置ContentType $client->setContentType(\EasySwoole\HttpClient\HttpClient::CONTENT_TYPE_APPLICATION_XML); // });