关于curl脚本的命令转换(PHP)

不多哔哔直接上代码(有关获取harbor库的)

没有证书,可以使使用-k来代替–cacert ca.crt

curl命令获取token

curl -iL -X GET -u admin:Har** https://192.0.0.0/service/token?account=admin\&service=harbor-registry\&scope=registry:catalog:* --cacert ca.crt

根据token获取镜像库

// An highlighted block
curl -iL -X GET -H "Content-Type: application/json" -H "Authorization: Bearer LA7yfEdUBYD3bDhLM" http://192.0.0.0/v2/_catalog --cacert ca.crt

下面是php的代码

定义一个curl function。如果使用框架,可以定义成方法

function httpRequest($sUrl, $aHeader){
    $ch = curl_init();
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
    curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
    // curl_setopt($ch, CURLOPT_HEADER, 1);
    curl_setopt($ch, CURLOPT_URL, $sUrl);
    curl_setopt($ch, CURLOPT_HTTPHEADER, $aHeader);
    curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE);
    curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, FALSE);
    $sResult = curl_exec($ch);
    $sError=curl_error($ch);
    if($sError){
        die($sError);
    }
    curl_close($ch);
    return $sResult;
}
 public function getIma($sUrl, $aHeader)
    {
        $ch = curl_init();
        curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
        // curl_setopt($ch, CURLOPT_HEADER, 1);
        curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
        curl_setopt($ch, CURLOPT_URL, $sUrl);
        curl_setopt($ch, CURLOPT_HTTPHEADER, $aHeader);
        curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE);
        curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, FALSE);
        $sResult = curl_exec($ch);
        $sError=curl_error($ch);
        if($sError){
                die($sError);
        }
        curl_close($ch);
        return $sResult;
}

$sUrl = 'https://116.85.31.12/v2/_catalog';
//header数据
$token = 'eysadasdasdasda(这里定义获取的token值)';
$aHeader = array('authorization: bearer '.$token.' ');
$sResult = httpRequest($sUrl, $aHeader);
//显示返回数据
var_dump($sResult);
exit;

Basic相当于脚本命令中的-u。我的主要问题就卡在了这里

 $token = 'https://192.0.0.0/service/token?account=admin&service=harbor-registry&scope=registry:catalog:*';

        $aHeader = $this->getIma($token,array('authorization: Basic '.base64_encode($this->username.':'.$this->password)));
        $d = json_decode($aHeader,true);
        $tokenNum = array('authorization:bearer '.$d['token']);

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值