电子面单怎么申请PHP案例_电子面单怎么申请
电子面单怎么申请PHP案例由刀豆文库小编整理,希望给你工作、学习、生活带来方便,猜你可能喜欢“电子面单怎么申请”。
电子面单怎么申请-PHP案例
电子面单是一种通过热敏纸打印输出纸质物流面单的物流服务。通过热感应显示文字,打印速度比传统针式打印速度提升4~6倍。电子面单以接口形式嵌入到自己的系统、网站上,可以在自己的平台操作打印电子面单。
一.开通使用流程
1.快递电子面单
a.和多家快递公司申请账号 b.分别进行接口对接
c.电子面单服务用户向快递网点申请开通及确认合作细节
2.菜鸟电子面单 a.提交对接申请 b.进行接口对接
c.电子面单服务用户申请账号
d.电子面单服务用户向快递网点申请开通及确认合作细节
3.快递鸟电子面单
a.申请账号,获取专属的ID和KEY b.进行接口对接
c.电子面单服务用户向快递网点申请开通及确认合作细节
二.电子面单对接案例 1.接口描述
接口支持的消息接收方式:HTTP POST 请求方法的编码格式(utf-8):“application/x-*/ function sendPost($url, $datas){
$temps = array();
foreach($datas as $key => $value){
$temps[] = sprintf('%s=%s', $key, $value);
}
$post_data = implode('&', $temps);
$url_info = parse_url($url);
if($url_info['port']==''){ } echo $url_info['port'];$url_info['port']=80;
$httpheader = ”POST “.$url_info['path'].” HTTP/1.0rn“;
$httpheader.= ”Host:“.$url_info['host'].”rn“;
$httpheader.= ”Content-Type:application/x-www-form-urlencodedrn“;
$httpheader.= ”Content-Length:“.strlen($post_data).”rn“;
$httpheader.= ”Connection:closernrn“;
$httpheader.= $post_data;
$fd = fsockopen($url_info['host'], $url_info['port']);
fwrite($fd, $httpheader);
$gets = ”“;
$headerFlag = true;while(!feof($fd)){
} if(($header = @fgets($fd))&&($header == ”rn“ || $header == ”n")){ } break;
while(!feof($fd)){ $gets.= fread($fd, 128);
}
fclose($fd);
return $gets;} /** * 电商Sign签名生成* @param data 内容
* @param appkey Appkey * @return DataSign签名
*/ function encrypt($data, $appkey){
return urlencode(base64_encode(md5($data.$appkey)));} /**************************************************************
*
* 使用特定function对数组中所有元素做处理
* @param string &$array
要处理的字符串
* @param string $function
要执行的函数
* @return boolean $apply_to_keys_also
是否也应用到key上
* @acce public
*
*************************************************************/
function arrayRecursive(&$array, $function, $apply_to_keys_also = false)
{
static $recursive_counter = 0;
if(++$recursive_counter > 1000){
die('poible deep recursion attack');
}
foreach($array as $key => $value){
if(is_array($value)){
arrayRecursive($array[$key], $function, $apply_to_keys_also);
} else {
$array[$key] = $function($value);
}
if($apply_to_keys_also && is_string($key)){
$new_key = $function($key);
if($new_key!= $key){
$array[$new_key] = $array[$key];
unset($array[$key]);
}
}
}
$recursive_counter--;
}
/**************************************************************
*
* 将数组转换为JSON字符串(兼容中文)
* @param array
$array
要转换的数组
* @return string
转换得到的json字符串 * @acce public
*
*************************************************************/
function JSON($array){
arrayRecursive($array, 'urlencode', true);
$json = json_encode($array);
return urldecode($json);
}
?>