五月天激情丁香,国产精品2019,国产成人精品亚洲2020,国产精品免费视频一区二区三区,开心久久婷婷综合中文字幕,天堂视频在线观看免费完整版

HttpClient

協(xié)程Http客戶端,基于\Swoole\Http\Client實(shí)現(xiàn),在協(xié)程內(nèi)快速發(fā)起http請(qǐng)求。

安裝

composer require easyswoole/http-client

請(qǐng)求

需要在協(xié)程環(huán)境內(nèi)發(fā)起請(qǐng)求。

請(qǐng)求實(shí)例

$client = new \EasySwoole\HttpClient\HttpClient('http://easyswoole.com');

設(shè)置Url

可在實(shí)例化的時(shí)候,傳入Url,或者如下:

/** @var \EasySwoole\HttpClient\HttpClient $client **/
$client->setUrl('http://easyswoole.com');

設(shè)置query

通過(guò)url傳入.

/** @var \EasySwoole\HttpClient\HttpClient $client **/
$client->setUrl('http://easyswoole.com?a=1');

通過(guò)方法傳入.

/** @var \EasySwoole\HttpClient\HttpClient $client **/
$client->setQuery(['a' => 1]);

注意:

setQuery方法將你原本url的參數(shù)也帶過(guò)來(lái).

設(shè)置Ssl

/** @var \EasySwoole\HttpClient\HttpClient $client **/
$client->setEnableSSL(true);

設(shè)置等待超時(shí)時(shí)間

/** @var \EasySwoole\HttpClient\HttpClient $client **/
$client->setTimeout(5);

設(shè)置連接超時(shí)時(shí)間

/** @var \EasySwoole\HttpClient\HttpClient $client **/
$client->setConnectTimeout(10);

設(shè)置Header

設(shè)置單項(xiàng):

/** @var \EasySwoole\HttpClient\HttpClient $client **/
$client->setHeader('test','test');

設(shè)置多項(xiàng):

/** @var \EasySwoole\HttpClient\HttpClient $client **/
$client->setHeaders(['test' => 'test']);

參數(shù):

  • $isMerge 默認(rèn):truefalse清空原有Header重新賦值。
  • $strtolower 默認(rèn):truefalse不進(jìn)行小寫(xiě)轉(zhuǎn)換。

設(shè)置Cookie

設(shè)置單項(xiàng):

/** @var \EasySwoole\HttpClient\HttpClient $client **/
$client->addCookie('test','test');

設(shè)置多項(xiàng):

/** @var \EasySwoole\HttpClient\HttpClient $client **/
$client->addCookies(['test' => 'test']);

參數(shù):

  • $isMerge 默認(rèn):truefalse清空原有Cookie重新賦值。

設(shè)置XMLHttpRequest

/** @var \EasySwoole\HttpClient\HttpClient $client **/
$client->setXMLHttpRequest();

設(shè)置ContentType

/** @var \EasySwoole\HttpClient\HttpClient $client **/
$client->setContentType($client::CONTENT_TYPE_APPLICATION_XML);

json

/** @var \EasySwoole\HttpClient\HttpClient $client **/
$client->setContentTypeJson();

xml

/** @var \EasySwoole\HttpClient\HttpClient $client **/
$client->setContentTypeXml();

from-data

/** @var \EasySwoole\HttpClient\HttpClient $client **/
$client->setContentTypeFormData();

from-urlencode

/** @var \EasySwoole\HttpClient\HttpClient $client **/
$client->setContentTypeFormUrlencoded();

設(shè)置BasicAuth

/** @var \EasySwoole\HttpClient\HttpClient $client **/
$client->setBasicAuth('admin','admin');

設(shè)置KeepAlive

/** @var \EasySwoole\HttpClient\HttpClient $client **/
$client->setKeepAlive(true);

設(shè)置客戶端配置

單個(gè)設(shè)置:

/** @var \EasySwoole\HttpClient\HttpClient $client **/
$client->setClientSetting('bind_address','127.0.0.1');

批量設(shè)置:

/** @var \EasySwoole\HttpClient\HttpClient $client **/
$client->setClientSettings([
    'bind_address'=>'127.0.0.1',
    'bind_port'=>'8090'
]);

設(shè)置FollowLocation

/** @var \EasySwoole\HttpClient\HttpClient $client **/
$client->enableFollowLocation(5);

參數(shù):

  • $maxRedirect 默認(rèn)5,表示最多根據(jù)30x狀態(tài)碼進(jìn)行的重定向次數(shù)。0 為關(guān)閉。

設(shè)置允許自簽證書(shū)

/** @var \EasySwoole\HttpClient\HttpClient $client **/
$client->setSslVerifyPeer(true,true);

設(shè)置服務(wù)器主機(jī)名稱(chēng)

與ssl_verify_peer配置配合使用

/** @var \EasySwoole\HttpClient\HttpClient $client **/
$client->setSslHostName('');

設(shè)置驗(yàn)證用的Ssl證書(shū)

/** @var \EasySwoole\HttpClient\HttpClient $client **/
$client->setSslCafile('');

設(shè)置Ssl證書(shū)目錄

/** @var \EasySwoole\HttpClient\HttpClient $client **/
$client->setSslCapath('');

設(shè)置Ssl證書(shū)文件

/** @var \EasySwoole\HttpClient\HttpClient $client **/
$client->setSslCertFile('');

設(shè)置Ssl證書(shū)私鑰文件

/** @var \EasySwoole\HttpClient\HttpClient $client **/
$client->setSslKeyFile('');

設(shè)置代理

http代理:

/** @var \EasySwoole\HttpClient\HttpClient $client **/
$client->setProxyHttp('127.0.0.1','1087','user','pass');

socks5代理:

/** @var \EasySwoole\HttpClient\HttpClient $client **/
$client->setProxySocks5('127.0.0.1','1086','user','pass');

設(shè)置端口綁定

/** @var \EasySwoole\HttpClient\HttpClient $client **/
$client->setSocketBind('127.0.0.1','8090');

GET

/** @var \EasySwoole\HttpClient\HttpClient $client **/
$client->get();

參數(shù):

  • $headers 設(shè)置Header

HEAD

/** @var \EasySwoole\HttpClient\HttpClient $client **/
$client->head();

DELETE

/** @var \EasySwoole\HttpClient\HttpClient $client **/
$client->delete();

參數(shù):

  • $headers 設(shè)置Header

PUT

/** @var \EasySwoole\HttpClient\HttpClient $client **/
$client->put();

參數(shù):

  • $data 請(qǐng)求的數(shù)據(jù)
  • $headers 設(shè)置Header

POST

/** @var \EasySwoole\HttpClient\HttpClient $client **/
$client->post();

post-xml

/** @var \EasySwoole\HttpClient\HttpClient $client **/
$client->postXml();

post-json

/** @var \EasySwoole\HttpClient\HttpClient $client **/
$client->postJson();

參數(shù):

  • $data 請(qǐng)求的數(shù)據(jù)
  • $headers 設(shè)置Header

PATCH

/** @var \EasySwoole\HttpClient\HttpClient $client **/
$client->patch();

參數(shù):

  • $data 請(qǐng)求的數(shù)據(jù)
  • $headers 設(shè)置Header

OPTIONS

/** @var \EasySwoole\HttpClient\HttpClient $client **/
$client->options();

參數(shù):

  • $data 請(qǐng)求的數(shù)據(jù)
  • $headers 設(shè)置Header

Download

/** @var \EasySwoole\HttpClient\HttpClient $client **/
$client->download('./test.png');

參數(shù):

  • $filename 保存路徑
  • $offset 寫(xiě)入偏移量
  • $httpMethod 請(qǐng)求方法
  • $rawData 請(qǐng)求數(shù)據(jù)
  • $contentType 設(shè)置ContentType

上傳文件

/** @var \EasySwoole\HttpClient\HttpClient $client **/
$client->post([
    'file' => new \CURLFile(__FILE__)
]);

分片上傳:


$file = new EasySwoole\HttpClient\Bean\CURLFile('file',__FILE__);

// 設(shè)置表單的名稱(chēng)
$file->setName('file');

// 設(shè)置要文件的路徑

$file->setPath(__FILE__);

// 設(shè)置文件總大小
$file->setLength(filesize(__FILE__));

// 設(shè)置offset(分片上傳的關(guān)鍵)
$file->setOffset(0);

// 設(shè)置文件類(lèi)型
$file->setType('image/png');

/** @var \EasySwoole\HttpClient\HttpClient $client **/
$client->post([
    'file' => $file
]);

響應(yīng)

以上快速發(fā)起http請(qǐng)求成功后,如(GETPOST),將會(huì)返回EasySwoole\HttpClient\Bean\Response

獲取響應(yīng)體

/** @var \EasySwoole\HttpClient\Bean\Response $response **/
$response->getBody();

當(dāng)響應(yīng)體為json,解析:

/** @var \EasySwoole\HttpClient\Bean\Response $response **/
$response->json();

參數(shù):

  • $assoc 默認(rèn)falsefalseobjecttrue為數(shù)組。

當(dāng)響應(yīng)體為jsonp,解析:

/** @var \EasySwoole\HttpClient\Bean\Response $response **/
$response->jsonp();

參數(shù):

  • $assoc 默認(rèn)falsefalseobjecttrue為數(shù)組。

當(dāng)響應(yīng)體為xml,解析:

/** @var \EasySwoole\HttpClient\Bean\Response $response **/
$response->xml();

參數(shù):

  • $assoc 默認(rèn)falsefalseobjecttrue為數(shù)組。

獲取錯(cuò)誤碼

/** @var \EasySwoole\HttpClient\Bean\Response $response **/
$response->getErrCode();

獲取錯(cuò)誤信息

/** @var \EasySwoole\HttpClient\Bean\Response $response **/
$response->getErrMsg();

獲取響應(yīng)狀態(tài)碼

/** @var \EasySwoole\HttpClient\Bean\Response $response **/
$response->getStatusCode();

獲取響應(yīng)頭及設(shè)置的Cookie

/** @var \EasySwoole\HttpClient\Bean\Response $response **/
$response->getSetCookieHeaders();

獲取請(qǐng)求的Cookie及響應(yīng)頭

/** @var \EasySwoole\HttpClient\Bean\Response $response **/
$response->getCookies();

WebSocket-Client

$client = new \EasySwoole\HttpClient\HttpClient('127.0.0.1:9501');
$upgradeResult = $client->upgrade(true);
$frame = new \Swoole\WebSocket\Frame();
//設(shè)置發(fā)送的消息幀
$frame->data = json_encode(['action' => 'hello','content'=>['a'=>1]]);
$pushResult = $client->push($frame);
$recvFrame = $client->recv();
//將返回bool或一個(gè)消息幀,可自行判斷
var_dump($recvFrame);

recv只會(huì)接收一次服務(wù)器的消息,如果需要一直接收,請(qǐng)?jiān)黾觲hile(1)死循環(huán)。

主站蜘蛛池模板: 国产91精品一区二区麻豆网站 | 李丽珍电影免费观看全集 | 99ri精品 | 日韩欧美在线播放视频 | 欧美在线中文字幕高清的 | 99视频免费在线观看 | 久久这里一区二区精品 | 九九精品视频一区二区三区 | 日本久久中文字幕 | 国产成人无精品久久久久国语 | 深夜久久| 国产99在线| 美女网站免费久久久久久久 | 深爱五月婷婷 | 国产美女自拍 | 欧美两性网 | 婷婷丁香在线观看 | 成人久久电影 | 国产裸舞福利在线视频合集 | 国产欧美视频高清va在线观看 | 视频自拍网 | 四虎影院在线观看网站 | 色偷偷网站 | 精品亚洲永久免费精品 | 国产成人精品综合在线观看 | 免费a级 | 亚洲精品国产免费 | 精品久久人人做人人爽综合 | 日韩福利视频高清免费看 | 色狠狠婷婷97 | 狠狠ri| 精品一区二区三区四区乱码 | 婷婷丁香激情 | 国内精品久久久久久久97牛牛 | 日韩精品视频在线观看免费 | 97国产影院| 久久99国产精品久久99软件 | 色综合久久综合网观看 | 色婷婷综合激情 | 国产真实伦在线视频免费观看 | 国产一级一片免费播放下载 |