sf接口

function post($url,$body){
    $curlObj = curl_init();
    curl_setopt($curlObj, CURLOPT_URL, $url); // 设置访问的url
    curl_setopt($curlObj, CURLOPT_RETURNTRANSFER, 1); //curl_exec将结果返回,而不是执行
    curl_setopt($curlObj, CURLOPT_HTTPHEADER, array("Content-Type: application/x-www-form-urlencoded;charset=UTF-8"));
    curl_setopt($curlObj, CURLOPT_URL, $url);
    curl_setopt($curlObj, CURLOPT_SSL_VERIFYPEER, FALSE);
    curl_setopt($curlObj, CURLOPT_SSL_VERIFYHOST, FALSE);
    curl_setopt($curlObj, CURLOPT_SSLVERSION, CURL_SSLVERSION_TLSv1);

    curl_setopt($curlObj, CURLOPT_CUSTOMREQUEST, 'POST');

    curl_setopt($curlObj, CURLOPT_POST, true);
    curl_setopt($curlObj, CURLOPT_POSTFIELDS, $body);
    curl_setopt($curlObj, CURLOPT_ENCODING, 'gzip');

    $res = @curl_exec($curlObj);

    curl_close($curlObj);

    if ($res === false) {
        $errno = curl_errno($curlObj);
        if ($errno == CURLE_OPERATION_TIMEOUTED) {
            $msg = "Request Timeout:   seconds exceeded";
        } else {
            $msg = curl_error($curlObj);
        }
        echo $msg;
        $e = new XN_TimeoutException($msg);
        throw $e;
    }
    return $res;
}

/**
 * 推送订单 (to 顺丰)
 * orderid              订单号
 * j_company            寄件方公司名称
 * j_contact            寄件方联系人
 * j_telphone           寄件方联系电话
 * j_address            寄件地址
 * d_company            到件方公司名称
 * d_contact            到件方联系人
 * d_telphone           到件方联系电话
 * d_address            到件方地址
 * d_province           到件方省份
 * d_city               到件方城市
 * j_province           寄件方省份
 * j_city               寄件方城市
 * name                 商品名称
 * mailno               运单号
 * */
function orderservice($orderid,$j_company,$j_contact,$j_telphone,$j_address,$d_company,$d_contact,$d_telphone,$d_address,$d_province,
                      $d_city,$j_province,$j_city,$name,$mailno,$pay_method,$express_type)
{
    $sf_data=C('sf');
    $_CHECKBODY=$sf_data['checkword'];
    $_URL=$sf_data['url'];
    $_CHECKHEADER=$sf_data['clientcode'];
    $j_shippercode  = citycode($j_province,$j_city);
    $d_deliverycode = citycode($d_province,$d_city);
    $body = '<?xml version="1.0" encoding="UTF-8" ?>
<Request service="OrderService" lang="zh-CN">
<Head>'.$_CHECKHEADER.'</Head>
<Body>
<Order orderid="'.$orderid.'" express_type="'.$express_type.'" pay_method="'.$pay_method.'" j_company="'.$j_company.'" j_contact="'.$j_contact.'" j_tel="'.$j_telphone.'" j_address="'.$j_address.'" d_company="'.$d_company.'" d_contact="'.$d_contact.'" d_tel="'.$d_telphone.'" d_address="'.$d_address.'" parcel_quantity="1" custid="" j_shippercode="'.$j_shippercode.'" d_deliverycode="'.$d_deliverycode.'" cargo_total_weight="" sendstarttime="" mailno="'.$mailno.'" remark="'.$name.'" /></Order></Body></Request>';
    $newbody = $body.$_CHECKBODY;
    $md5 =  md5($newbody,true);
    $verifyCode = base64_encode($md5);
    $url = $_URL;
    $fields = array('xml'=>$body,'verifyCode'=>$verifyCode);
    $parambody =  http_build_query($fields, '', '&');
    $res = post($url,$parambody);
    return $res;
}

猜你喜欢

转载自my.oschina.net/u/3660147/blog/1814776