Yii 1.1 使用 curl 请求第三方接口 [ 1.1 版本 ]
在 Yii 1.1 框架中使用 curl 请求 api 接口返回数据保存到数据库
最佳答案
-
function curl_post_contents($url, $data = array(), $cookiepath = '',$timeout=10){ $userAgent = 'Mozilla/4.0+(compatible;+MSIE+6.0;+Windows+NT+5.1;+SV1)'; $referer = $url; if(!is_array($data) || !$url) return ''; $post = ''; foreach($data as $key => $value){ $post .= $key . '=' . urlencode($value) . '&'; } rtrim($post, '&'); $ch = curl_init(); curl_setopt($ch, CURLOPT_URL, $url); //设置访问的url地址 curl_setopt($ch, CURLOPT_TIMEOUT, $timeout); //设置超时 curl_setopt($ch, CURLOPT_USERAGENT, $userAgent); //用户访问代理 User-Agent curl_setopt($ch, CURLOPT_REFERER, $referer); //设置 referer curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 0); //跟踪301 curl_setopt($ch, CURLOPT_POST, 1); //指定post数据 curl_setopt($ch, CURLOPT_POSTFIELDS, $post); //添加变量 curl_setopt($ch, CURLOPT_COOKIEJAR, $cookiepath); //COOKIE的存储路径,返回时保存COOKIE的路径 curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); //返回结果 $content = curl_exec($ch); curl_close($ch); return $content; } function curl_get_contents($url, $timeout = 5) { $ch = curl_init(); curl_setopt($ch, CURLOPT_URL, $url); curl_setopt($ch, CURLOPT_TIMEOUT, $timeout); curl_setopt($ch, CURLOPT_USERAGENT, 'Mozilla/4.0 (compatible; MSIE 5.01; Windows NT 5.0)'); curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); @curl_setopt($ch, CURLOPT_DNS_USE_GLOBAL_CACHE, true); curl_setopt($ch, CURLOPT_DNS_CACHE_TIMEOUT, 86400); // 缓存一天 $content = curl_exec($ch); curl_close($ch); return $content; }
龘瞾 四川成都
注册时间:2018-12-21
最后登录:2019-11-06
在线时长:37小时20分
最后登录:2019-11-06
在线时长:37小时20分
- 粉丝2
- 金钱1045
- 威望0
- 积分1415