Toggle navigation
Toggle navigation
This project
Loading...
Sign in
fe
/
YOHOBUYPC
·
Commits
Go to a project
GitLab
Go to group
Project
Activity
Files
Commits
Pipelines
0
Builds
0
Graphs
Milestones
Issues
0
Merge Requests
2
Members
Labels
Wiki
Forks
Network
Create a new issue
Download as
Email Patches
Plain Diff
Browse Files
Authored by
郝肖肖
9 years ago
Commit
79ea3bd2b714ddaebb42cb5d23a88d6961f13b49
1 parent
21f8c545
分流url
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
54 additions
and
13 deletions
library/Api/Yohobuy.php
library/Api/Yohobuy.php
View file @
79ea3bd
...
...
@@ -71,8 +71,8 @@ class Yohobuy
'service'
=>
array
(
'123.206.1.98'
,
'123.206.2.80'
)
),
'awsServers'
=>
array
(
'api'
=>
array
(
'app-java-168863769.cn-north-1.elb.amazonaws.com.cn'
),
'service'
=>
array
(
'service-yoho-579825100.cn-north-1.elb.amazonaws.com.cn'
)
'api'
=>
'app-java-168863769.cn-north-1.elb.amazonaws.com.cn'
,
'service'
=>
'service-yoho-579825100.cn-north-1.elb.amazonaws.com.cn'
)
);
...
...
@@ -178,16 +178,27 @@ class Yohobuy
*/
public
static
function
get
(
$url
,
$data
=
array
(),
$cache
=
false
,
$returnJson
=
false
,
$timeout
=
5
,
$userAgent
=
null
,
$useGzip
=
true
)
{
$url
=
self
::
_getUrl
(
$url
,
$data
);
$isApi
=
false
;
$isService
=
false
;
if
(
USE_INTER_FACE_SHUNT
)
{
if
(
strpos
(
$url
,
'api.'
))
{
$isApi
=
true
;
}
else
if
(
strpos
(
$url
,
'service.'
))
{
$isService
=
true
;
}
$url
=
self
::
_getUrl
(
$url
,
$data
);
}
// 销毁私钥参数
if
(
isset
(
$data
[
'private_key'
]))
{
unset
(
$data
[
'private_key'
]);
}
if
(
!
empty
(
$data
))
{
$url
=
self
::
httpBuildQuery
(
$url
,
$data
);
}
//echo $url;
/* 开启缓存的情况 */
if
(
$cache
&&
USE_CACHE
)
{
// 先尝试获取一级缓存(master), 有数据则直接返回.
...
...
@@ -196,17 +207,27 @@ class Yohobuy
return
$result
;
}
}
$ch
=
curl_init
(
$url
);
curl_setopt
(
$ch
,
CURLOPT_HEADER
,
0
);
curl_setopt
(
$ch
,
CURLOPT_TIMEOUT
,
$timeout
);
curl_setopt
(
$ch
,
CURLOPT_RETURNTRANSFER
,
true
);
if
(
$isApi
)
{
curl_setopt
(
$ch
,
CURLOPT_HTTPHEADER
,
array
(
'Host: api.yoho.cn'
));
}
else
if
(
$isService
)
{
curl_setopt
(
$ch
,
CURLOPT_HTTPHEADER
,
array
(
'Host: service.yoho.cn'
));
}
if
(
$useGzip
)
{
curl_setopt
(
$ch
,
CURLOPT_ENCODING
,
'gzip'
);
}
if
(
!
empty
(
$userAgent
))
{
curl_setopt
(
$ch
,
CURLOPT_USERAGENT
,
$userAgent
);
}
$result
=
curl_exec
(
$ch
);
if
(
!
$returnJson
&&
!
empty
(
$result
))
{
$result
=
json_decode
(
$result
,
true
);
...
...
@@ -243,10 +264,27 @@ class Yohobuy
*/
public
static
function
post
(
$url
,
$data
=
array
(),
$returnJson
=
false
,
$timeout
=
10
,
$header
=
array
(),
$cookie
=
array
())
{
$url
=
self
::
_getUrl
(
$url
,
$data
);
$isApi
=
false
;
$isService
=
false
;
if
(
USE_INTER_FACE_SHUNT
)
{
if
(
strpos
(
$url
,
'api.'
))
{
$isApi
=
true
;
}
else
if
(
strpos
(
$url
,
'service.'
))
{
$isService
=
true
;
}
$url
=
self
::
_getUrl
(
$url
,
$data
);
}
$ch
=
curl_init
(
$url
);
curl_setopt
(
$ch
,
CURLOPT_TIMEOUT
,
$timeout
);
if
(
$isApi
)
{
array_push
(
$header
,
'Host: api.yoho.cn'
);
}
else
if
(
$isService
)
{
array_push
(
$header
,
'Host: service.yoho.cn'
);
}
if
(
!
empty
(
$header
))
{
curl_setopt
(
$ch
,
CURLOPT_HTTPHEADER
,
$header
);
}
else
{
...
...
@@ -262,6 +300,7 @@ class Yohobuy
curl_setopt
(
$ch
,
CURLOPT_USERAGENT
,
'Mozilla/5.0 (Windows NT 5.1) AppleWebKit/534.30 (KHTML, like Gecko) Chrome/12.0.742.122 YOHOWEB'
);
curl_setopt
(
$ch
,
CURLOPT_RETURNTRANSFER
,
true
);
curl_setopt
(
$ch
,
CURLOPT_POST
,
true
);
// 销毁私钥参数
if
(
isset
(
$data
[
'private_key'
]))
{
unset
(
$data
[
'private_key'
]);
...
...
@@ -564,16 +603,18 @@ class Yohobuy
}
if
(
$mod
>
128
||
$uid
===
0
)
{
if
(
strpos
(
'://api.'
,
$url
))
{
$url
=
array_rand
(
self
::
$interfaceShunt
[
'awsServers'
][
'api'
]);
}
else
if
(
strpos
(
'://service.'
,
$url
))
{
$url
=
array_rand
(
self
::
$interfaceShunt
[
'awsServers'
][
'service'
]);
$paseUrl
=
parse_url
(
$url
);
if
(
strpos
(
$url
,
'api.'
))
{
$url
=
'http://'
.
self
::
$interfaceShunt
[
'awsServers'
][
'api'
]
.
$paseUrl
[
'path'
]
.
'/'
;
}
else
if
(
strpos
(
$url
,
'service.'
))
{
$url
=
'http://'
.
self
::
$interfaceShunt
[
'awsServers'
][
'service'
]
.
$paseUrl
[
'path'
]
.
'/'
;
}
}
else
{
if
(
strpos
(
'://api.'
,
$url
))
{
$url
=
array_rand
(
self
::
$interfaceShunt
[
'tencentServers'
][
'api'
]);
}
else
if
(
strpos
(
'://service.'
,
$url
))
{
$url
=
array_rand
(
self
::
$interfaceShunt
[
'tencentServers'
][
'service'
]);
$paseUrl
=
parse_url
(
$url
);
if
(
strpos
(
$url
,
'api.'
))
{
$url
=
'http://'
.
array_rand
(
self
::
$interfaceShunt
[
'tencentServers'
][
'api'
])
.
$paseUrl
[
'path'
]
.
'/'
;
}
else
if
(
strpos
(
$url
,
'service.'
))
{
$url
=
'http://'
.
array_rand
(
self
::
$interfaceShunt
[
'tencentServers'
][
'service'
])
.
$paseUrl
[
'path'
]
.
'/'
;
}
}
...
...
Please
register
or
login
to post a comment