kandk522 2017-09-20 07:01 采纳率: 0%
浏览 5091
已结题

curl返回302怎么处理?浏览器访问正常。

<?php
set_time_limit(0);
error_reporting(1024);
ob_start();
header("Content-Type:text/html;charset=GBK");
header('Cache-Control:no-cache,must-revalidate');

header('Pragma:no-cache');

ini_set('date.timezone','Asia/Shanghai');

$url = 'http://i.sporttery.cn/odds_calculator/get_odds?i_format=json&poolcode[]=hhad&poolcode[]=had';
$content = getCurlData($url);
var_dump($content);

function getCurlData($url){
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);

curl_setopt($ch, CURLOPT_CUSTOMREQUEST, 'GET');
curl_setopt($ch, CURLOPT_HEADER, 0);  
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);  
curl_setopt($ch, CURLOPT_HTTPHEADER, array(
    "Host:info.sporttery.cn",
    "Cache-Control: max-age=0",
    "Accept-Encoding: gzip, deflate",
    "Accept:*/*",
    "Accept-Language:zh-CN,zh;q=0.8,en-US;q=0.5,en;q=0.3",
    "Connection: keep-alive",
    "Cookie:COLLCK=3282378182; Hm_lvt_860f3361e3ed9c994816101d37900758=1505871680; COLLCK=4081554587; Hm_lpvt_860f3361e3ed9c994816101d37900758=1505889209",
    "Upgrade-Insecure-Requests: 1",
    ));
curl_setopt($ch, CURLOPT_USERAGENT,'Mozilla/5.0 (Windows NT 6.3; rv:36.0) Gecko/20100101 Firefox/36.04');
curl_setopt($ch, CURLOPT_FOLLOWLOCATION,TRUE);
curl_setopt($ch, CURLOPT_TIMEOUT, 20);
curl_setopt($ch, CURLOPT_MAXREDIRS,20);

$cdata = curl_exec($ch);
$info = curl_getinfo($ch);
print_r($info);
/*
if($info['http_code']==302){
    getCurlData($url);
}
*/
curl_close($ch);

return $cdata;

}

ob_end_flush();
exit;
?>

  • 写回答

2条回答 默认 最新

  • 野沐沐 2017-09-20 07:22
    关注

    302重定向之后获取真实的 url。然后在根据真实的url进行操作

    评论

报告相同问题?

悬赏问题

  • ¥50 永磁型步进电机PID算法
  • ¥15 sqlite 附加(attach database)加密数据库时,返回26是什么原因呢?
  • ¥88 找成都本地经验丰富懂小程序开发的技术大咖
  • ¥15 如何处理复杂数据表格的除法运算
  • ¥15 如何用stc8h1k08的片子做485数据透传的功能?(关键词-串口)
  • ¥15 有兄弟姐妹会用word插图功能制作类似citespace的图片吗?
  • ¥200 uniapp长期运行卡死问题解决
  • ¥15 latex怎么处理论文引理引用参考文献
  • ¥15 请教:如何用postman调用本地虚拟机区块链接上的合约?
  • ¥15 为什么使用javacv转封装rtsp为rtmp时出现如下问题:[h264 @ 000000004faf7500]no frame?