<?php |
//电商ID |
defined( 'EBusinessID' ) or define( 'EBusinessID' , 1237100); |
//电商加密私钥,快递鸟提供,注意保管,不要泄漏(需重新申请) |
defined( 'AppKey' ) or define( 'AppKey' , '518a73d8-1f7f-441a-b644-33e77b49d846' ); |
//请求url |
defined( 'ReqURL' ) or define( 'ReqURL' , 'http://api.kdniao.cc/Ebusiness/EbusinessOrderHandle.aspx' ); |
|
/** |
* Json方式 物流信息订阅 |
*/ |
function orderTracesSubByJson(){ |
$requestData = "{'Code': 'SF','Item': [" . |
"{'No': '909261024507','Bk': 'test'}," . |
"{'No': '589554393102','Bk': 'test'}," . |
"{'No': '589522101958','Bk': 'test'}," . |
"{'No': '909198822942', 'Bk': 'test'}" . |
"]}" ; |
|
$datas = array ( |
'EBusinessID' => EBusinessID, |
'RequestType' => '1005' , |
'RequestData' => urlencode( $requestData ) , |
'DataType' => '2' , |
); |
$datas [ 'DataSign' ] = encrypt( $requestData , AppKey); |
$result =sendPost(ReqURL, $datas ); |
|
//根据公司业务处理返回的信息...... |
|
return $result ; |
} |
/** |
* XML方式 物流信息订阅 |
*/ |
function orderTracesSubByXml(){ |
$requestData = "<?xml version=\"1.0\" encoding=\"utf-8\" ?>" . |
"<Content>" . |
"<Code>SF</Code>" . |
"<Items>" . |
"<Item>" . |
"<No>909261024507</No>" . |
"<Bk>test</Bk>" . |
"</Item>" . |
"<Item>" . |
"<No>909261024507</No>" . |
"<Bk>test</Bk>" . |
"</Item>" . |
"</Items>" . |
"</Content>" ; |
|
$datas = array ( |
'EBusinessID' => EBusinessID, |
'RequestType' => '1005' , |
'RequestData' => urlencode( $requestData ) , |
'DataType' => '1' , |
); |
$datas [ 'DataSign' ] = encrypt( $requestData , AppKey); |
$result =sendPost(ReqURL, $datas ); |
|
//根据公司业务处理返回的信息...... |
|
return $result ; |
} |
/** |
* post提交数据 |
* @param string $url 请求Url |
* @param array $datas 提交的数据 |
* @return url响应返回的html |
*/ |
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' ]== '' ) |
{ |
$url_info [ 'port' ]=80; |
} |
echo $url_info [ 'port' ]; |
$httpheader = "POST " . $url_info [ 'path' ] . " HTTP/1.0\r\n" ; |
$httpheader .= "Host:" . $url_info [ 'host' ] . "\r\n" ; |
$httpheader .= "Content-Type:application/x-www-form-urlencoded\r\n" ; |
$httpheader .= "Content-Length:" . strlen ( $post_data ) . "\r\n" ; |
$httpheader .= "Connection:close\r\n\r\n" ; |
$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 == "\r\n" || $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 ))); |
} |
?> |
by: 发表于:2017-10-27 09:35:48 顶(0) | 踩(0) 回复
??
回复评论