如何使用php发送以下curl请求
$ curl -X POST -u "client_id:secret" https://bitbucket.org/site/oauth2/access_token
-d grant_type=authorization_code -d code={code}
答案 0 :(得分:2)
使用GuzzleHttp。
<?php
$client = new GuzzleHttp\Client();
$response = $client->request('POST', 'https://bitbucket.org/site/oauth2/access_token', [
'auth' => ['client_id', 'secret'],
'form_params' => [
'grant_type' => 'authorization_code',
'code' => 'code'
]
]);
$code = $response->getStatusCode(); // must be 200
$reason = $response->getReasonPhrase(); // must be OK
$body = (string) $response->getBody(); // must have your data
注意,如果您要实施OAuth客户端,我强烈建议您使用开源库:
答案 1 :(得分:0)
<?php
if ($curl = curl_init()) {
curl_setopt($curl, CURLOPT_HEADER, 1);
curl_setopt($curl, CURLOPT_URL, 'http://mysite.ru/');
curl_setopt($curl, CURLOPT_USERPWD, "client_id:secret");
curl_setopt($curl, CURLOPT_TIMEOUT, 30);
curl_setopt($curl, CURLOPT_POST, 1);
curl_setopt($curl, CURLOPT_POSTFIELDS, "code=someCode&");
curl_setopt($curl, CURLOPT_RETURNTRANSFER, TRUE);
$return = curl_exec($curl);
curl_close($curl);
}
?>
答案 2 :(得分:-1)
步骤1)初始化CURL会话
$ch = curl_init();
步骤2)提供CURL会话的选项
curl_setopt($ CH,CURLOPT_URL, “http://akshayparmar.in”);
curl_setopt($ CH,CURLOPT_RETURNTRANSFER,TRUE);
// curl_setopt($ ch,CURLOPT_HEADER,true); //如果你想要标题
CURLOPT_URL - &gt;要获取的网址
CURLOPT_HEADER - &gt;包括标题/不是
CURLOPT_RETURNTRANSFER - &gt;如果设置为true,则数据以字符串形式返回,而不是输出。
有关选项的完整列表,请查看PHP文档。
步骤3)。执行CURL会话
$output=curl_exec($ch);
第4步)。关闭会话
curl_close($ch);
注意:您可以使用以下代码检查CURL是否启用。
如果(is_callable( 'curl_init'))
{
echo“已启用”;
}
否则
{
echo“未启用”;
}
函数httpGet($ url) {
$ch = curl_init();
curl_setopt($ch,CURLOPT_URL,$url);
curl_setopt($ch,CURLOPT_RETURNTRANSFER,true);
$output=curl_exec($ch);
curl_close($ch);
return $output;
}
echo httpGet(“http://akshayparmar.in”);