ICode9

精准搜索请尝试: 精确搜索
首页 > 编程语言> 文章详细

菜鸟电子面单 类 php

2021-06-01 21:31:16  阅读:274  来源: 互联网

标签:return 菜鸟 面单 input curl php data public CURLOPT


<?php

class CainiaoHelper{
	//public $debug=false;
	public $debug=true;
	function __construct(){

	}
	public function debug($msg) {
		if ($this->debug) {
			print '<div style="border: 1px solid red; padding: 0.5em; margin: 0.5em;">';
			echo "<pre>";
			print_r($msg);
			echo "</pre>";
			print '</div>';
		}
	}
	
	private function curl_get_contents($url,$data = array(), $https = false)
	{
		$results['error']	= '';
		$results['status']	= 0;
		$results['data']	= array();
		$user_agent			=  $_SERVER['HTTP_USER_AGENT'];
		$curl 				= curl_init(); 								// 启动一个CURL会话
		if( !empty($data) && is_array($data) )
		{
			curl_setopt($curl, CURLOPT_POST, 1); 						// 发送一个常规的Post请求
			//curl_setopt($curl, CURLOPT_POSTFIELDS, $data); 				// Post提交的数据包
			curl_setopt($curl, CURLOPT_POSTFIELDS, http_build_query($data));
		}
		if($https )
		{
			curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, 0); 				// 对认证证书来源的检查
			curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, 1); 				// 从证书中检查SSL加密算法是否存在
			curl_setopt($curl, CURLOPT_FOLLOWLOCATION, 1); 				// 使用自动跳转
			//curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, false);//这个是重点。
		}
		curl_setopt($curl, CURLOPT_URL, $url); 						// 要访问的地址
		curl_setopt($curl, CURLOPT_TIMEOUT, 30); 					// 设置超时限制防止死循环
		curl_setopt($curl, CURLOPT_HTTPHEADER, array('Content-Type: application/x-www-form-urlencoded'));
		curl_setopt($curl, CURLOPT_HEADER, 0); 						// 显示返回的Header区域内容
		curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1); 				// 获取的信息以文件流的形式返回
		curl_setopt($curl, CURLOPT_USERAGENT,$user_agent); 			// 模拟用户使用的浏览器
		curl_setopt($curl, CURLOPT_AUTOREFERER, 1); 				// 自动设置Referer
		$results['data']= curl_exec($curl);						// 执行操作
		if (curl_errno($curl))
		{
			$results['error'] 	= curl_error($curl);					//捕抓异常
		}
		curl_close($curl); 												// 关闭CURL会话
		return $results['data']; 												// 返回数据
	}

	public function curl_http_post($url, $data)
	{
		return $this->curl_get_contents($url,$data);
	}

	public function curl_http_get($url)
	{
		return $this->curl_get_contents($url,array());
	}

	public function curl_https_post($url, $data)
	{
		return $this->curl_get_contents($url,$data,true);
	}

	public function curl_https_get($url)
	{
		return $this->curl_get_contents($url,array(),true);
	}
}

class Cainiao extends CainiaoHelper
{
	public $Urlgateway = "http://link.cainiao.com/gateway/link.do";
	public $AppKey;
	public $SecretKey;
	public $Token;
	public $debug=false;
	public $ishttps=false;
	function __construct(){
		parent::__construct();
	}
	
	/**
	 订单渠道平台编码:淘宝(TB)、天猫(TM)、京东(JD)、当当(DD)、
	 拍拍(PP)、易讯(YX)、ebay(EBAY)、QQ网购(QQ) 、亚马逊(AMAZON)、
	 苏宁(SN)、国美(GM)、唯品会(WPH)、聚美(JM)、乐蜂(LF)、蘑菇街(MGJ) 、
	 聚尚(JS)、拍鞋(PX)、银泰(YT)、1号店(YHD)、
	 凡客(VANCL)、邮乐(YL)、优购(YG)、阿里 巴巴(1688)、其他(OTHERS)
	 */
	private function getDigest($apiContent){
		$combine = md5($apiContent.$this->SecretKey,true);
		return base64_encode($combine);
	}

	public function getCpCode(){
		$A=array(
			'YTO'=>'圆通',
		'HTKY'=>'百世快递',
		'YUNDA'=>'韵达',
		'GTO'=>'国通',
		'DBKD'=>'德邦快递 ',
		'EMS'=>'EMS',
		'POSTB'=>'邮政快递包裹',
		'STO'=>'申通',
		'SF'=>'顺丰',
		'ZTO'=>'中通 ',

		'ZJS'=>'宅急送',
		);
		return $A;

	}

	/**
	 * 获取发货地,CP开通状态,账户的使用情况 Version:v1.0
	 * Enter description here ...
	 */
	public function Tms_Waybill_Subscription_Query($input='YTO'){
		if(!$input) return false;

		$A['logistics_interface']='{"cpCode":"'.$input.'"}';
		$A[data_digest]=base64_encode(md5($A[logistics_interface].$this->SecretKey,true));
		$A[msg_type]='TMS_WAYBILL_SUBSCRIPTION_QUERY';
		$A[logistic_provider_id]=$this->Token;
		if($this->ishttps){
			return $s=$this->curl_https_post($this->Urlgateway,$A);
		}else{
			return $s=$this->curl_http_post($this->Urlgateway,$A);
		}
	}

	public function GET_CLOUDPRINT_STANDARD_TEMPLATES($input='YTO'){
		if(!$input) return false;

		$A['logistics_interface']='{"cpCode":"'.$input.'"}';
		$A[data_digest]=base64_encode(md5($A[logistics_interface].$this->SecretKey,true));
		$A[msg_type]='CLOUDPRINT_STANDARD_TEMPLATES';
		$A[logistic_provider_id]=$this->Token;
		if($this->ishttps){
			return $s=$this->curl_https_post($this->Urlgateway,$A);
		}else{
			return $s=$this->curl_http_post($this->Urlgateway,$A);
		}
	}


	/**
	 * 电子面单云打印取号接口 Version:v1.0
	 * Enter description here ...
	 * @param unknown_type $input
	 */
	public function Tms_Waybill_Get($input='')
	{
		if(!$input) return false;
		$A[logistics_interface]=$input;
		$A[data_digest]=base64_encode(md5($A[logistics_interface].$this->SecretKey,true));
		$A[msg_type]='TMS_WAYBILL_GET';
		$A[logistic_provider_id]=$this->Token;
		if($this->ishttps){
			return $s=$this->curl_https_post($this->Urlgateway,$A);
		}else{
			return $s=$this->curl_http_post($this->Urlgateway,$A);
		}
	}

	/**
	 * 电子面单云打印更新接口 Version:v1.0
	 * Enter description here ...
	 * @param unknown_type $input
	 */
	public function Tms_Waybill_Update($input='')
	{
		if(!$input) return false;
		$A[logistics_interface]=$input;
		$A[data_digest]=base64_encode(md5($A[logistics_interface].$this->SecretKey,true));
		$A[msg_type]='TMS_WAYBILL_UPDATE';
		$A[logistic_provider_id]=$this->Token;
		if($this->ishttps){
			return $s=$this->curl_https_post($this->Urlgateway,$A);
		}else{
			return $s=$this->curl_http_post($this->Urlgateway,$A);
		}
	}
	/**
	 * ISV电子面单取消接口 Version:v1.0
	 * Enter description here ...
	 * @param unknown_type $input
	 */
	public function Tms_Waybill_Discard($input='')
	{
		if(!$input) return false;
		$A[logistics_interface]=$input;
		$A[data_digest]=base64_encode(md5($A[logistics_interface].$this->SecretKey,true));
		$A[msg_type]='TMS_WAYBILL_DISCARD';
		$A[logistic_provider_id]=$this->Token;
		if($this->ishttps){
			return $s=$this->curl_https_post($this->Urlgateway,$A);
		}else{
			return $s=$this->curl_http_post($this->Urlgateway,$A);
		}
	}
}

 

标签:return,菜鸟,面单,input,curl,php,data,public,CURLOPT
来源: https://blog.csdn.net/qq_36028348/article/details/117453151

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有