PHP HTTP client--Guzzle 用法小结
sanlanlan 2019-4-13 标签: HTTP 浏览:2167 评论:0
http client
VERSION:6.x
DOC:http://docs.guzzlephp.org/en/stable/
$client = new \GuzzleHttp\Client();
1.GET
$params = ['id'=>1,'name'=>'lili'];
$response = $client->get($url, ['query' => $params]);
2.POST header cookie
$headers = [
'Cookie'=>'',
'Content-Type'=>'',
'User-Agent'=>'',
];
$content = ['id'=>1,'name'=>'lili'];
$options = [
'headers'=>$headers,
'form_params'=>$content,
];
$url = "http://domain.com/dev/download";
$response = $this->client->post($url, $options);
3.GET header
$header = [
'Authorization' => 'Bearer ' . $access_token,
'Version'=>110,
];
$response = $client->get($url, ['query' => $params,'headers'=>$header]);
4. GET header cookie
$options = [
'headers' => [
'Accept' => '',
'Cookie' => '',
'User-Agent' => '',
]
];
$response = $client->get($url, $options);
5.getAsync
采用了requestAsync异步方法+wait来完成的,也就是异步转同步。
$promises = [];
foreach ($params as $key => $val) {
$promises[$key] = $client->getAsync($url, ['query' => $val]);
}
$results = Promise\unwrap($promises);
//ps request
1.get
$options = [
'query' => [
'id' => $id,
'name' => $name,
]
];
$response = $client->request('get', '', $options);
2. post
$emailResponse = $client->request('POST', $url, [
'json' => $json,
]);
VERSION:6.x
DOC:http://docs.guzzlephp.org/en/stable/
$client = new \GuzzleHttp\Client();
1.GET
$params = ['id'=>1,'name'=>'lili'];
$response = $client->get($url, ['query' => $params]);
2.POST header cookie
$headers = [
'Cookie'=>'',
'Content-Type'=>'',
'User-Agent'=>'',
];
$content = ['id'=>1,'name'=>'lili'];
$options = [
'headers'=>$headers,
'form_params'=>$content,
];
$url = "http://domain.com/dev/download";
$response = $this->client->post($url, $options);
3.GET header
$header = [
'Authorization' => 'Bearer ' . $access_token,
'Version'=>110,
];
$response = $client->get($url, ['query' => $params,'headers'=>$header]);
4. GET header cookie
$options = [
'headers' => [
'Accept' => '',
'Cookie' => '',
'User-Agent' => '',
]
];
$response = $client->get($url, $options);
5.getAsync
采用了requestAsync异步方法+wait来完成的,也就是异步转同步。
$promises = [];
foreach ($params as $key => $val) {
$promises[$key] = $client->getAsync($url, ['query' => $val]);
}
$results = Promise\unwrap($promises);
//ps request
1.get
$options = [
'query' => [
'id' => $id,
'name' => $name,
]
];
$response = $client->request('get', '', $options);
2. post
$emailResponse = $client->request('POST', $url, [
'json' => $json,
]);
发表评论: