|
@@ -23,14 +23,30 @@ class Curl
|
|
|
* @param array $header header信息 array('Host: api.kingdee.meitushop.com' )设置请求的host
|
|
* @param array $header header信息 array('Host: api.kingdee.meitushop.com' )设置请求的host
|
|
|
* @return string
|
|
* @return string
|
|
|
*/
|
|
*/
|
|
|
- public static function get($url, $proxy = null, $timeout = 10, $header = null, $REFERER = null)
|
|
|
|
|
|
|
+ public static function get($url, $proxy = null, $timeout = 30, $header = null, $REFERER = null)
|
|
|
{
|
|
{
|
|
|
|
|
+
|
|
|
|
|
+
|
|
|
if (!$url)
|
|
if (!$url)
|
|
|
return false;
|
|
return false;
|
|
|
$ssl = stripos($url, 'https://') === 0;
|
|
$ssl = stripos($url, 'https://') === 0;
|
|
|
$curl = curl_init();
|
|
$curl = curl_init();
|
|
|
- if (!is_null($proxy))
|
|
|
|
|
- curl_setopt($curl, CURLOPT_PROXY, $proxy);
|
|
|
|
|
|
|
+ if (!is_null($proxy)){
|
|
|
|
|
+ if (is_string($proxy)){
|
|
|
|
|
+ curl_setopt($curl, CURLOPT_PROXY, $proxy);
|
|
|
|
|
+ }else{//使用猿代理
|
|
|
|
|
+ $proxyServer = is_string($proxy) ? $proxy : "forward.apeyun.com:9082";
|
|
|
|
|
+ $id = "2021012100228692034"; // 使用订单ID/APP_ID
|
|
|
|
|
+ $secret = "UJ1I6yMuZZ4B00b3"; // 用户SECRET
|
|
|
|
|
+ // 代理服务器
|
|
|
|
|
+ curl_setopt($curl, CURLOPT_PROXY, $proxyServer);
|
|
|
|
|
+ curl_setopt($curl, CURLOPT_PROXYTYPE, CURLPROXY_HTTP); //http
|
|
|
|
|
+ //curl_setopt($ch, CURLOPT_PROXYTYPE, CURLPROXY_SOCKS5); //socks5
|
|
|
|
|
+ curl_setopt($curl, CURLOPT_PROXYAUTH, CURLAUTH_BASIC);
|
|
|
|
|
+ curl_setopt($curl, CURLOPT_PROXYUSERPWD, "$id:$secret");
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ }
|
|
|
curl_setopt($curl, CURLOPT_URL, $url);
|
|
curl_setopt($curl, CURLOPT_URL, $url);
|
|
|
if ($ssl) {
|
|
if ($ssl) {
|
|
|
curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, 0); // 对认证证书来源的检查
|
|
curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, 0); // 对认证证书来源的检查
|
|
@@ -50,28 +66,21 @@ class Curl
|
|
|
curl_setopt($curl, CURLOPT_TIMEOUT, $timeout); //设置cURL允许执行的最长秒数。
|
|
curl_setopt($curl, CURLOPT_TIMEOUT, $timeout); //设置cURL允许执行的最长秒数。
|
|
|
if (is_array($header))
|
|
if (is_array($header))
|
|
|
curl_setopt($curl, CURLOPT_HTTPHEADER, $header); //设置请求的Header
|
|
curl_setopt($curl, CURLOPT_HTTPHEADER, $header); //设置请求的Header
|
|
|
- if ($proxy) {
|
|
|
|
|
- $proxyServer = "forward.apeyun.com:9082";
|
|
|
|
|
- $id = "2021012100228692034"; // 使用订单ID/APP_ID
|
|
|
|
|
- $secret = "UJ1I6yMuZZ4B00b3"; // 用户SECRET
|
|
|
|
|
- // 代理服务器
|
|
|
|
|
- curl_setopt($curl, CURLOPT_PROXY, $proxyServer);
|
|
|
|
|
- curl_setopt($curl, CURLOPT_PROXYTYPE, CURLPROXY_HTTP); //http
|
|
|
|
|
- //curl_setopt($ch, CURLOPT_PROXYTYPE, CURLPROXY_SOCKS5); //socks5
|
|
|
|
|
- curl_setopt($curl, CURLOPT_PROXYAUTH, CURLAUTH_BASIC);
|
|
|
|
|
- curl_setopt($curl, CURLOPT_PROXYUSERPWD, "$id:$secret");
|
|
|
|
|
- }
|
|
|
|
|
$content = curl_exec($curl);
|
|
$content = curl_exec($curl);
|
|
|
$curl_errno = curl_errno($curl);
|
|
$curl_errno = curl_errno($curl);
|
|
|
if ($curl_errno > 0) {
|
|
if ($curl_errno > 0) {
|
|
|
Logger::setlog($error = sprintf("curl error=%s, errno=%d.", curl_error($curl), $curl_errno));
|
|
Logger::setlog($error = sprintf("curl error=%s, errno=%d.", curl_error($curl), $curl_errno));
|
|
|
curl_close($curl);
|
|
curl_close($curl);
|
|
|
return false;
|
|
return false;
|
|
|
- }else{
|
|
|
|
|
- Logger::setlog($error = sprintf("curl error=%s, errno=%d.", curl_error($curl), $curl_errno),APP_DIR."/success.log");
|
|
|
|
|
|
|
+ } else {
|
|
|
|
|
+ Logger::setlog($error = sprintf("curl error=%s, errno=%d.", curl_error($curl), $curl_errno), APP_DIR . "/success.log");
|
|
|
}
|
|
}
|
|
|
// $this->http_code = curl_getinfo($curl, CURLINFO_HTTP_CODE);
|
|
// $this->http_code = curl_getinfo($curl, CURLINFO_HTTP_CODE);
|
|
|
curl_close($curl);
|
|
curl_close($curl);
|
|
|
|
|
+
|
|
|
|
|
+ $time_end = microtime_float();
|
|
|
|
|
+ $time = $time_end - $time_start;
|
|
|
|
|
+ define("CURL_TIME", $time);
|
|
|
return $content;
|
|
return $content;
|
|
|
}
|
|
}
|
|
|
|
|
|