'AL','alaska'=>'AK','arizona'=>'AZ','arkansas'=>'AR','california'=>'CA','colorado'=>'CO','connecticut'=>'CT','delaware'=>'DE','florida'=>'FL','georgia'=>'GA','hawaii'=>'HI','idaho'=>'ID','illinois'=>'IL','indiana'=>'IN','iowa'=>'IA','kansas'=>'KS','kentucky'=>'KY','louisiana'=>'LA','maine'=>'ME','maryland'=>'MD','massachusetts'=>'MA','michigan'=>'MI','minnesota'=>'MN','mississippi'=>'MS','missouri'=>'MO','montana'=>'MT','nebraska'=>'NE','nevada'=>'NV','new hampshire'=>'NH','new jersey'=>'NJ','new mexico'=>'NM','new york'=>'NY','north carolina'=>'NC','north dakota'=>'ND','ohio'=>'OH','oklahoma'=>'OK','oregon'=>'OR','pennsylvania'=>'PA','rhode island'=>'RI','south carolina'=>'SC','south dakota'=>'SD','tennessee'=>'TN','texas'=>'TX','utah'=>'UT','vermont'=>'VT','virginia'=>'VA','washington'=>'WA','west virginia'=>'WV','wisconsin'=>'WI','wyoming'=>'WY','district of columbia'=>'DC','virgin islands'=>'VI','guam'=>'GU','puerto rico'=>'PR'); $data['province'] = preg_replace('/( | | |\s)/',' ',$data['province']); $data['province'] = trim($data['province'],' '); $dataprovince = strlen($data['province'])==2?$data['province']:$ToState[strtolower($data['province'])]; $data['address'] = str_replace(array('#','&','&'),array('%23','%26'),$data['address']); $data['address2'] = str_replace(array('#','&','&'),array('%23','%26'),$data['address2']); $data['client'] = str_replace(array('#','&','&'),array('%23','%26'),$data['client']); $data['name'] = str_replace(array('#','&','&'),array('%23','%26'),$data['name']); $data['name'] = str_replace(' ',' ',$data['name']); $xml = ""; $xml .= ""; $xml .= ""; $xml .= "1"; $xml .= ""; $xml .= "4X6LABELP"; $xml .= ""; $xml .= "Kenny Kwok";//发件人姓名或公司 $xml .= "Long Human Hair Factory Inc";//发件人姓名或公司 $xml .= "";//发件人地址1 公寓或套房号码 不超过50个字符 $xml .= "819 6th Avenue Store front";//发件人地址2 $xml .= "New York";//发件人城市 $xml .= "NY";//发件人所属州 $xml .= "10001";//发件人邮政编码 $xml .= "";//发件人邮编2 $xml .= "8455583605";//发件人电话,10位 $xml .= "true";//是否检查地址 true不检查 $xml .= "".$data['name']."";//收件人名称 $xml .= "";//收件人名称 if($data['address2'] == "") { $xml .= "".$data['address2']."";//收件人地址1 不超过50个字符 $xml .= "".$data['address']."";//收件人地址2 } else { $xml .= "".$data['address']."";//收件人地址1 不超过50个字符 $xml .= "".$data['address2']."";//收件人地址2 } $xml .= "".$data['city']."";//收件人城市 $xml .= "".$dataprovince."";//收件人州 $xml .= "".trim($data['zipcode'],' ')."";//收件人邮编 $xml .= "";//收件人邮编2 $xml .= "";//收件人电话 $xml .= "";//目标地址是否为邮政信箱。 if($data['qm']==1 && $data['js'] == 1)//如果需要签名,并且快递服务选择优先 { $ServiceType = 'PRIORITY'; $Container = 'FLAT RATE ENVELOPE'; $ExtraService = '156'; $ExtraServicebx = '125'; } else if($data['qm']==1 && $data['js'] == 0)//如果需要签名,并且快递服务不选择优先 { $ServiceType = 'Ground Advantage'; $Container = 'VARIABLE'; $ExtraService = '120'; $ExtraServicebx = '100'; } else if($data['qm']==1 && $data['js'] == 2)//如果需要签名,并且快递服务选择PRIORITY EXPRESS { $ServiceType = 'PRIORITY EXPRESS'; $Container = 'FLAT RATE ENVELOPE'; $ExtraServicebx = '101'; } else if($data['qm']==0 && $data['js'] == 1)//如果不需要签名,并且快递服务选择优先 { $ServiceType = 'PRIORITY'; $Container = 'FLAT RATE ENVELOPE'; $ExtraServicebx = '125'; } else if($data['qm']==0 && $data['js'] == 0)//如果不需要签名,并且快递服务不选择优先 { $ServiceType = 'Ground Advantage'; $Container = 'VARIABLE'; $ExtraServicebx = '100'; } else if($data['qm']==0 && $data['js'] == 3)//如果不需要签名,并且快递服务不选择优先 { $ServiceType = 'Standard Mail Marketing Parcel'; $Container = 'VARIABLE'; $ExtraServicebx = '100'; } else if($data['qm']==0 && $data['js'] == 2)//如果不需要签名,并且快递服务选择PRIORITY EXPRESS { $ServiceType = 'PRIORITY EXPRESS'; $Container = 'FLAT RATE ENVELOPE'; $ExtraServicebx = '125'; } if($data['email']) { if(strlen($data['email']) < 60 && stripos($data['email'],'tiktok') === false) { $xml .= "EMAIL"; $xml .= "".$data['email'].""; } } $xml .= "false"; $xml .= "".$data['zzl']."";//重量 $xml .= "".$ServiceType."";//服务类型 $xml .= "".$Container."";//货物类型 $xml .= "";//可选 $xml .= "";//可选 $xml .= "";//可选 $xml .= "";//可选 $xml .= "";//可选 $xml .= "";//可选 $xml .= "".$data['bx']."";//保险金 可选 $xml .= "True";//可选 客户变更地址提醒 /** $data['qm'] = ($data['qm']==1)?'False':'True'; if($data['qm'] == 'False') { $xml .= ""; //$xml .= "1";//可选 交付选择 默认1:正常交付 $xml .= "".$data['qm']."";//可选 接收签名用False $xml .= ""; } **/ if($data['qm']==1 && $data['js'] == 2) { $xml .= ""; //$xml .= "1";//可选 交付选择 默认1:正常交付 $xml .= "FALSE";//可选 接收签名用False $xml .= ""; } $xml .= "".date('m/d/Y',time()-(12*3600)+($data['yc']*24*3600))."";//可选 发货日期 当前至7天 格式 mm/ dd/ yyyy 延迟发货 //$xml .= "true"; $xml .= "".$data['number']."";//可选 内部编号显示在运单 不超过19字符 $xml .= ""; if(isset($ExtraService)) { $xml .= "".$ExtraService."";//可选额外服务 } if($data['bx'] > 0) { $xml .= "".$ExtraServicebx."";//可选额外服务 } $xml .= ""; $xml .= "NONE";//可选打印布局SEPARATE PAGE 或NONE $xml .= "PDF";//输出类型 $xml .= "Y"; $xml .= "true";//内部编号显示要用这个标签 $xml .= ""; /** 直连 **/ $ch = curl_init(); $url = 'https://secure.shippingapis.com/ShippingAPI.dll?API=eVS&XML='.$xml; $url = str_replace(" ",'%20',$url); curl_setopt($ch,CURLOPT_URL,$url); curl_setopt($ch,CURLOPT_RETURNTRANSFER,1); curl_setopt($ch,CURLOPT_CONNECTTIMEOUT,0); curl_setopt($ch,CURLOPT_SSL_VERIFYPEER, FALSE); // https请求 不验证证书和hosts curl_setopt($ch,CURLOPT_SSL_VERIFYHOST, FALSE); curl_setopt($ch,CURLOPT_TIMEOUT,25); $data = curl_exec($ch); curl_close($ch); $data = utf8_encode($data); libxml_disable_entity_loader(true); @$values = json_decode(json_encode(simplexml_load_string($data, 'SimpleXMLElement', LIBXML_NOCDATA)), true); return $values; /** $ch = curl_init(); $url = 'http://z.wepolicy.cn/usps.php?XML='.$xml; $url = str_replace(" ",'%20',$url); curl_setopt($ch,CURLOPT_URL,$url); curl_setopt($ch,CURLOPT_RETURNTRANSFER,1); curl_setopt($ch,CURLOPT_CONNECTTIMEOUT,0); curl_setopt($ch,CURLOPT_SSL_VERIFYPEER, FALSE); // https请求 不验证证书和hosts curl_setopt($ch,CURLOPT_SSL_VERIFYHOST, FALSE); curl_setopt($ch,CURLOPT_CONNECTTIMEOUT,35); $data = curl_exec($ch); curl_close($ch); $data = json_decode($data,TRUE); return $data; //Description提示错误 LabelImage运单PDF BarcodeNumber运单号 **/ } public function get_address($data) { $ToState = array('alabama'=>'AL','alaska'=>'AK','arizona'=>'AZ','arkansas'=>'AR','california'=>'CA','colorado'=>'CO','connecticut'=>'CT','delaware'=>'DE','florida'=>'FL','georgia'=>'GA','hawaii'=>'HI','idaho'=>'ID','illinois'=>'IL','indiana'=>'IN','iowa'=>'IA','kansas'=>'KS','kentucky'=>'KY','louisiana'=>'LA','maine'=>'ME','maryland'=>'MD','massachusetts'=>'MA','michigan'=>'MI','minnesota'=>'MN','mississippi'=>'MS','missouri'=>'MO','montana'=>'MT','nebraska'=>'NE','nevada'=>'NV','new hampshire'=>'NH','new jersey'=>'NJ','new mexico'=>'NM','new york'=>'NY','north carolina'=>'NC','north dakota'=>'ND','ohio'=>'OH','oklahoma'=>'OK','oregon'=>'OR','pennsylvania'=>'PA','rhode island'=>'RI','south carolina'=>'SC','south dakota'=>'SD','tennessee'=>'TN','texas'=>'TX','utah'=>'UT','vermont'=>'VT','virginia'=>'VA','washington'=>'WA','west virginia'=>'WV','wisconsin'=>'WI','wyoming'=>'WY','district of columbia'=>'DC','virgin islands'=>'VI'); $data['province'] = preg_replace('/( | |\s)/',' ',$data['province']); $data['province'] = trim($data['province'],' '); $dataprovince = (strlen($data['province'])==2 || !isset($ToState[strtolower($data['province'])]))?$data['province']:$ToState[strtolower($data['province'])]; $data['address'] = str_replace(array('#','&','&'),array('%23','%26'),$data['address']); $data['address2'] = str_replace(array('#','&','&'),array('%23','%26'),$data['address2']); $xml = ""; $xml .= ""; $xml .= "
"; if($data['address2'] == "") { $xml .= "".$data['address2']." "; $xml .= "".$data['address']." "; } else { $xml .= "".$data['address']." "; $xml .= "".$data['address2']." "; } $xml .= "".$data['city']." "; $xml .= "".$dataprovince." "; $xml .= "".trim($data['zipcode'],' ')." "; $xml .= " "; $xml .= "
"; $xml .= "
"; $ch = curl_init(); $url = 'https://secure.shippingapis.com/ShippingAPI.dll?API=Verify&XML='.$xml; $url = str_replace(" ",'%20',$url); curl_setopt($ch,CURLOPT_URL,$url); curl_setopt($ch,CURLOPT_RETURNTRANSFER,1); curl_setopt($ch,CURLOPT_CONNECTTIMEOUT,0); curl_setopt($ch,CURLOPT_SSL_VERIFYPEER, FALSE); // https请求 不验证证书和hosts curl_setopt($ch,CURLOPT_SSL_VERIFYHOST, FALSE); $data = curl_exec($ch); curl_close($ch); $data = utf8_encode($data); libxml_disable_entity_loader(true); @$values = json_decode(json_encode(simplexml_load_string($data, 'SimpleXMLElement', LIBXML_NOCDATA)), true); return $values; /** $ch = curl_init(); $url = 'http://z.wepolicy.cn/uspsaddress.php?XML='.$xml; $url = str_replace(" ",'%20',$url); curl_setopt($ch,CURLOPT_URL,$url); curl_setopt($ch,CURLOPT_RETURNTRANSFER,1); curl_setopt($ch,CURLOPT_CONNECTTIMEOUT,0); curl_setopt($ch,CURLOPT_SSL_VERIFYPEER, FALSE); // https请求 不验证证书和hosts curl_setopt($ch,CURLOPT_SSL_VERIFYHOST, FALSE); curl_setopt($ch,CURLOPT_CONNECTTIMEOUT,35); $data = curl_exec($ch); curl_close($ch); $data = json_decode($data,TRUE); return $data; **/ } public function get_manifest($fullorder) //生成发货清单 { $xml = ""; $xml .= ""; $xml .= ""; $xml .= "Kenny Kwok";//发件人姓名或公司 $xml .= "8PX Express Inc";//发件人姓名或公司 $xml .= "";//发件人地址1 公寓或套房号码 不超过50个字符 $xml .= "850 3rd Ave APT 508";//发件人地址2 $xml .= "Brooklyn";//发件人城市 $xml .= "NY";//发件人所属州 $xml .= "11232";//发件人邮政编码 $xml .= "";//发件人邮编2 $xml .= ""; foreach($fullorder as $v) { $xml .= ""; $xml .= "".$v.""; $xml .= ""; } $xml .= ""; $tm = time()-12*3600; $xml .= "".date('Ymd',$tm).""; $xml .= "".date('His',$tm).""; $xml .= ""; $xml .= "PDF";//输出类型 $xml .= "LY".time().""; $xml .= ""; $ch = curl_init(); $url = 'https://secure.shippingapis.com/ShippingAPI.dll?API=SCAN&XML='.$xml; $url = str_replace(" ",'%20',$url); curl_setopt($ch,CURLOPT_URL,$url); curl_setopt($ch,CURLOPT_RETURNTRANSFER,1); curl_setopt($ch,CURLOPT_CONNECTTIMEOUT,0); curl_setopt($ch,CURLOPT_SSL_VERIFYPEER, FALSE); // https请求 不验证证书和hosts curl_setopt($ch,CURLOPT_SSL_VERIFYHOST, FALSE); $data = curl_exec($ch); curl_close($ch); $data = utf8_encode($data); libxml_disable_entity_loader(true); @$values = json_decode(json_encode(simplexml_load_string($data, 'SimpleXMLElement', LIBXML_NOCDATA)), true); return $values; } public function get_return($data) //退货 { $ToState = array('alabama'=>'AL','alaska'=>'AK','arizona'=>'AZ','arkansas'=>'AR','california'=>'CA','colorado'=>'CO','connecticut'=>'CT','delaware'=>'DE','florida'=>'FL','georgia'=>'GA','hawaii'=>'HI','idaho'=>'ID','illinois'=>'IL','indiana'=>'IN','iowa'=>'IA','kansas'=>'KS','kentucky'=>'KY','louisiana'=>'LA','maine'=>'ME','maryland'=>'MD','massachusetts'=>'MA','michigan'=>'MI','minnesota'=>'MN','mississippi'=>'MS','missouri'=>'MO','montana'=>'MT','nebraska'=>'NE','nevada'=>'NV','new hampshire'=>'NH','new jersey'=>'NJ','new mexico'=>'NM','new york'=>'NY','north carolina'=>'NC','north dakota'=>'ND','ohio'=>'OH','oklahoma'=>'OK','oregon'=>'OR','pennsylvania'=>'PA','rhode island'=>'RI','south carolina'=>'SC','south dakota'=>'SD','tennessee'=>'TN','texas'=>'TX','utah'=>'UT','vermont'=>'VT','virginia'=>'VA','washington'=>'WA','west virginia'=>'WV','wisconsin'=>'WI','wyoming'=>'WY','district of columbia'=>'DC','virgin islands'=>'VI'); $data['province'] = preg_replace('/( | | |\s)/',' ',$data['province']); $data['province'] = trim($data['province'],' '); $dataprovince = strlen($data['province'])==2?$data['province']:$ToState[strtolower($data['province'])]; $xml = ""; $xml .= ""; $xml .= "".$data['name']."";//退回人名称 if($data['address2'] == '') { $xml .= "".str_replace('#','%23',$data['address'])."";//退回人地址2 $xml .= "";//退回人地址2 } else { $xml .= "".str_replace('#','%23',$data['address'])."";//退回人地址1 $xml .= "".str_replace('#','%23',$data['address2'])."";//退回人地址2 } $xml .= "".$data['city']."";//退回人城市 $xml .= "".$dataprovince."";//退回人州 $xml .= "".trim($data['zipcode'],' ')."";//退回人邮编 $xml .= "23448B5717AB4898B2269E6DBFA8EE47"; //$xml .= "8982";//退货系统中商家帐户的ID $xml .= "902531035";//商家的MID MID必须与商家帐户ID相关联 $xml .= "4X6"; $xml .= "020";//020普通退回 044优先 $xml .= ""; $xml .= "".$data['bx']."";//保险金额 $xml .= "false"; $xml .= ""; $xml .= ""; $xml .= "Customer"; $xml .= ""; $xml .= ""; $xml .= ""; $xml .= ""; $xml .= ""; $xml .= ""; $xml .= ""; //$xml .= "CUBIC"; $xml .= ""; $ch = curl_init(); $url = 'https://returns.usps.com/services/GetLabel?externalReturnLabelRequest='.$xml; //$url = 'https://returns.usps.com/Services/ExternalCreateReturnLabel.svc/ExternalCreateReturnLabel?externalReturnLabelRequest='.$xml; $url = str_replace(" ",'%20',$url); curl_setopt($ch,CURLOPT_URL,$url); curl_setopt($ch,CURLOPT_RETURNTRANSFER,1); curl_setopt($ch,CURLOPT_CONNECTTIMEOUT,0); curl_setopt($ch,CURLOPT_SSL_VERIFYPEER, FALSE); // https请求 不验证证书和hosts curl_setopt($ch,CURLOPT_SSL_VERIFYHOST, FALSE); $data = curl_exec($ch); curl_close($ch); $data = utf8_encode($data); libxml_disable_entity_loader(true); @$values = json_decode(json_encode(simplexml_load_string($data, 'SimpleXMLElement', LIBXML_NOCDATA)), true); return $values; } public function get_logistics($number)//追踪快递 { $ToState = array('alabama'=>'AL','alaska'=>'AK','arizona'=>'AZ','arkansas'=>'AR','california'=>'CA','colorado'=>'CO','connecticut'=>'CT','delaware'=>'DE','florida'=>'FL','georgia'=>'GA','hawaii'=>'HI','idaho'=>'ID','illinois'=>'IL','indiana'=>'IN','iowa'=>'IA','kansas'=>'KS','kentucky'=>'KY','louisiana'=>'LA','maine'=>'ME','maryland'=>'MD','massachusetts'=>'MA','michigan'=>'MI','minnesota'=>'MN','mississippi'=>'MS','missouri'=>'MO','montana'=>'MT','nebraska'=>'NE','nevada'=>'NV','new hampshire'=>'NH','new jersey'=>'NJ','new mexico'=>'NM','new york'=>'NY','north carolina'=>'NC','north dakota'=>'ND','ohio'=>'OH','oklahoma'=>'OK','oregon'=>'OR','pennsylvania'=>'PA','rhode island'=>'RI','south carolina'=>'SC','south dakota'=>'SD','tennessee'=>'TN','texas'=>'TX','utah'=>'UT','vermont'=>'VT','virginia'=>'VA','washington'=>'WA','west virginia'=>'WV','wisconsin'=>'WI','wyoming'=>'WY','district of columbia'=>'DC','virgin islands'=>'VI'); $number['province'] = preg_replace('/( | | |\s)/',' ',$number['province']); $number['province'] = trim($number['province'],' '); $dataprovince = strlen($number['province'])==2?$number['province']:$ToState[strtolower($number['province'])]; $xml = ""; $xml .= ""; $xml .= ""; $ch = curl_init(); $url = 'https://secure.shippingapis.com/ShippingAPI.dll?API=TrackV2&XML='.$xml; $url = str_replace(" ",'%20',$url); curl_setopt($ch,CURLOPT_URL,$url); curl_setopt($ch,CURLOPT_RETURNTRANSFER,1); curl_setopt($ch,CURLOPT_CONNECTTIMEOUT,0); curl_setopt($ch,CURLOPT_SSL_VERIFYPEER, FALSE); // https请求 不验证证书和hosts curl_setopt($ch,CURLOPT_SSL_VERIFYHOST, FALSE); $data = curl_exec($ch); curl_close($ch); $data = utf8_encode($data); libxml_disable_entity_loader(true); @$values = json_decode(json_encode(simplexml_load_string($data, 'SimpleXMLElement', LIBXML_NOCDATA)), true); if(!isset($number['city'])) { $number['city'] = ''; } if(isset($values['TrackInfo']['TrackDetail'][0]))//是否有信息 { $exstate = 0; $zt = $values['TrackInfo']['TrackDetail']; $xq = ''; if((stripos($values['TrackInfo']['TrackSummary'],'delivered') !== false && stripos($values['TrackInfo']['TrackSummary'],'delivered by the expected delivery date') === false && stripos($values['TrackInfo']['TrackSummary'],'to be delivered') === false) || stripos($values['TrackInfo']['TrackSummary'],'Your item was picked up at the post office') !== false || stripos($values['TrackInfo']['TrackSummary'],'Your item was picked up at') !== false) { $exstate = 6; $zx = 1; } else if(stripos(strtolower($values['TrackInfo']['TrackSummary']),'out for delivery') !== false || stripos(strtolower($values['TrackInfo']['TrackSummary']),'Processing Exception') || stripos(strtolower($values['TrackInfo']['TrackSummary']),'was returned')) { $exstate = 1; $zx = 1; } /** else if(stripos(strtolower($values['TrackInfo']['TrackSummary']),strtolower($number['city'])) !== false && stripos(strtolower($values['TrackInfo']['TrackSummary']),'arrived at post office') !== false) { $exstate = 5; $zx = 1; } **/ else if(stripos(strtolower($values['TrackInfo']['TrackSummary']),strtolower('Arrived at USPS Destination Facility')) !== false && stripos(strtolower($values['TrackInfo']['TrackSummary']),strtolower($dataprovince.' DISTRIBUTION CENTER')) !== false) { $exstate = 4; $zx = 1; } else if(stripos(strtolower($values['TrackInfo']['TrackSummary']),'In transit') !== false || stripos(strtolower($values['TrackInfo']['TrackSummary']),'picked up item') !== false) { $exstate = 3; $zx = 1; } else if(stripos(strtolower($values['TrackInfo']['TrackSummary']),'accepted at usps origin facility') !== false) { $exstate = 2; $zx = 1; } else { if(is_array($zt)) { foreach($zt as $v) { if(stripos(strtolower($v),'out for delivery') !== false || stripos(strtolower($v),'Processing Exception')) { $exstate = 1; break; } /** if(stripos(strtolower($v),strtolower($number['city'])) !== false && stripos(strtolower($v),'arrived at post office') !== false) { $exstate = 5; break; } **/ else if(stripos(strtolower($v),strtolower('Arrived at USPS Destination Facility')) !== false && stripos(strtolower($v),strtolower($dataprovince.' DISTRIBUTION CENTER')) !== false) { $exstate = 4; break; } if(stripos(strtolower($v),'In transit') !== false || stripos(strtolower($v),'picked up item') !== false) { $exstate = 3; break; } if(stripos(strtolower($v),'accepted at usps origin facility') !== false) { $exstate = 2; break; } } } else { $v = $zt; if(stripos(strtolower($v),'out for delivery') !== false || stripos(strtolower($v),'Processing Exception')) { $exstate = 1; } /** else if(stripos(strtolower($v),strtolower($number['city'])) !== false && stripos(strtolower($v),'arrived at post office') !== false) { $exstate = 5; } **/ else if(stripos(strtolower($v),strtolower('Arrived at USPS Destination Facility')) !== false && stripos(strtolower($v),strtolower($dataprovince.' DISTRIBUTION CENTER')) !== false) { $exstate = 4; } else if(stripos(strtolower($v),'In transit') !== false || stripos(strtolower($v),'picked up item') !== false) { $exstate = 3; } else if(stripos(strtolower($v),'accepted at usps origin facility') !== false) { $exstate = 2; } } $zx = 0; } if(is_array($zt)) { foreach($zt as $v) { $xq .= $v.'
'; } } else { $xq = $zt; } if($zx == 1) { $xq = $values['TrackInfo']['TrackSummary'].'
'.$xq; } $content = date('Y-m-d H',time()).'-查询成功'; $list = array('exstate'=>$exstate,'content'=>$content,'f'=>1,'data'=>$xq,'s'=>$values);//正常可发送站内信 } else { $content = date('Y-m-d H',time()).'-查询失败'; $list = array('content'=>$content,'f'=>0,'xqdata'=>$values);//非正常只更改详情信息 } return $list; } public function get_qx($number) { $xml = ""; $xml .= "".$number.""; $xml .= ""; $ch = curl_init(); $url = 'https://secure.shippingapis.com/ShippingAPI.dll?API=eVSCancel&XML='.$xml; $url = str_replace(" ",'%20',$url); curl_setopt($ch,CURLOPT_URL,$url); curl_setopt($ch,CURLOPT_RETURNTRANSFER,1); curl_setopt($ch,CURLOPT_CONNECTTIMEOUT,0); curl_setopt($ch,CURLOPT_SSL_VERIFYPEER, FALSE); // https请求 不验证证书和hosts curl_setopt($ch,CURLOPT_SSL_VERIFYHOST, FALSE); $data = curl_exec($ch); curl_close($ch); $data = utf8_encode($data); libxml_disable_entity_loader(true); @$values = json_decode(json_encode(simplexml_load_string($data, 'SimpleXMLElement', LIBXML_NOCDATA)), true); if(isset($values['Status'])) { if($values['Status'] == 'Cancelled') { $list = array('f'=>1);//取消成功 } else { $list = array('f'=>2,'data'=>$values['Reason']);//取消失败 } } else { $list = array('f'=>2,'data'=>'取消失败,未知错误'); } return $values; } public function get_cs($number)//追踪快递 { $xml = ""; $xml .= ""; $xml .= ""; $ch = curl_init(); $url = 'https://secure.shippingapis.com/ShippingAPI.dll?API=TrackV2&XML='.$xml; $url = str_replace(" ",'%20',$url); curl_setopt($ch,CURLOPT_URL,$url); curl_setopt($ch,CURLOPT_RETURNTRANSFER,1); curl_setopt($ch,CURLOPT_CONNECTTIMEOUT,0); curl_setopt($ch,CURLOPT_SSL_VERIFYPEER, FALSE); // https请求 不验证证书和hosts curl_setopt($ch,CURLOPT_SSL_VERIFYHOST, FALSE); $data = curl_exec($ch); curl_close($ch); $data = utf8_encode($data); libxml_disable_entity_loader(true); @$values = json_decode(json_encode(simplexml_load_string($data, 'SimpleXMLElement', LIBXML_NOCDATA)), true); if(isset($values['TrackInfo']['TrackDetail'][0]))//是否有信息 { $zt = $values['TrackInfo']['TrackDetail']; $xq = ''; if(stripos($values['TrackInfo']['TrackSummary'],'delivered') !== false) { $exstate = 4; } else { foreach($zt as $v) { if(stripos(strtolower($v),strtolower($number['city'])) !== false) { $exstate = 3; break; } else { $exstate = 2; break; } } } foreach($zt as $v) { $xq .= $v.'
'; } $content = date('Y-m-d H',time()).'-查询成功'; $list = array('exstate'=>$exstate,'content'=>$content,'f'=>1,'data'=>$xq);//正常可发送站内信 return $list; } else { $content = date('Y-m-d H',time()).'-查询失败'; $list = array('content'=>$content,'f'=>0);//非正常只更改详情信息 } } } //end class