php通过curl请求api

//post请求
function postXMLCurl($url, $xml) {
    $ch = curl_init();
    curl_setopt($ch, CURLOPT_POST, true);
    curl_setopt($ch, CURLOPT_URL, $url);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
    curl_setopt($ch, CURLOPT_POSTFIELDS, $xml);
    curl_setopt($ch, CURLOPT_HTTPHEADER, array(
        'Content-Type: text/xml; charset=utf-8',
        'Content-Length: ' . strlen($xml))
    );
    $response  = curl_exec($ch);

    if ($response) {
        curl_close($ch);
        return $response;
    } else {
        curl_close($ch);
        return false;
    }
}


            $response = postXMLCurl($url, $xml);
            if (!$response) {
                //todo
                return false;
            }<span style="white-space:pre">	</span>
            $response = simplexml_load_string($response, 'SimpleXMLElement', LIBXML_NOCDATA);
            if (!is_object($response)) {
                //todo
                return false;
            }
            $result = (array)$response;
            //todo

//带证书验证的请求
function post_xml_curl($url, $xml, $cert='', $key='', $certpwd='') {
    $ch = curl_init();
	curl_setopt($ch, CURLOPT_HTTPHEADER, array(
	    'Content-Type: text/xml; charset=utf-8',
	    'Content-Length: ' . strlen($xml))
	);
    curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 1);
    curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 1);
    curl_setopt($ch, CURLOPT_POST, true);
    curl_setopt($ch, CURLOPT_URL, $url);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
    curl_setopt($ch, CURLOPT_POSTFIELDS, $xml);

	if (isset( $cert) && isset($key) && isset($certpwd)) {
		curl_setopt($ch,CURLOPT_SSLCERTTYPE,'PEM');
		curl_setopt($ch,CURLOPT_SSLCERT,$cert);
		curl_setopt($ch,CURLOPT_SSLCERTPASSWD, $certpwd);
		curl_setopt($ch,CURLOPT_SSLKEYTYPE,'PEM');
		curl_setopt($ch,CURLOPT_SSLKEY,$key);
	}

    $response  = curl_exec($ch);
    curl_close($ch);
    return $response;
}


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值