[PHP] 纯文本查看 复制代码
<?php
$url="http://preview-disp.titan.mgtv.com/vod.do?pm=xjpSJmkMk9J6oMHHhYOuwyaVWDJ2EeYfC~bUr7lOVkK4s47QwBUGOK8jg4MKP0_mBRVyaUnhhA44hj0chx6W2Q1xooMS__SCyS1BNqAkBlF4ceaJv8gs7rGG0uKU0NaPdlYEj6WRAEUEADDIwCve~Y8N6AvYFuwOYsowY31Ibvs1jlHszw0b_RGfTU~vbxNT1AqMsLMWPR4yFVoZDTPWf6o0GRhoHoX4VAC9qpJUw2HvLktz8922B1wQWlmH461ILFX6WMFK7Zp~KxVjKdpOH33KsEzO74PPvL4TPAPbnqgOaLWCB2mIQZVvxQJLroBxi7munVVq0n~_ASmiH4g7BmAuMC~5nZF7UZcsmqJUzODJtEjOGOfsUht6OokPPo_ImqGrFI_7pbM5rHM3rTiZNA7na5s-&fid=60C49722F105256C98EF9755CE57E899&gsid=650f4bf8d7bb4269b71a0b1af584f7ec&_support=10100001&did=i375990713435732&suuid=6625e949-7ff4-46c6-af84-4f6d48dc424a";
$res=json_decode(curl($url),true);
echo $res['info'];
function curl($url ='', $method = "GET", $data = array(),$cookies='',$header = array(), $type = 0, $synchronous = 1){
$httpMethod = array('GET', 'POST', 'PUT', 'DELETE');
$method = strtoupper($method);
if (!in_array($method, $httpMethod)) {
return false;
}
//请求头初始化
$request_headers = array();
$User_Agent = 'User-Agent: Mozilla/5.0 (X11; Linux i686) AppleWebKit/537.31 (KHTML, like Gecko) Chrome/26.0.1410.43 Safari/537.31';
$request_headers[] = $User_Agent;
if($header){
foreach ($header as $v) {
$request_headers[] = $v;
}
}
$request_headers[] = 'Accept: text/html,application/json,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8';
switch ($method) {
case "POST":
$request_headers[] = "X-HTTP-Method-Override: POST";
break;
case "PUT":
$request_headers[] = "X-HTTP-Method-Override: PUT";
break;
case "DELETE":
$request_headers[] = "X-HTTP-Method-Override: DELETE";
break;
default:
if($data) {
//GET请求
$url = $url . '?' . http_build_query($data);
}
}
//发送http请求
$ch = curl_init();
if(!$synchronous) {
//异步
curl_setopt($ch, CURLOPT_TIMEOUT, 1);//设置超时时间为1秒,超过1秒则关闭连接
curl_setopt($ch, CURLOPT_NOSIGNAL, 1); //注意,毫秒超时一定要设置这个 cURL 7.10时被加入
curl_setopt($ch, CURLOPT_TIMEOUT_MS, 300); //超时毫秒,cURL 7.16.2中被加入
}else{
//curl_setopt($ch, CURLOPT_TIMEOUT, 35); // 最大执行时间
curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 5); // 在尝试连接时等待的秒数,等待3s没有连接成功就断开
}
curl_setopt($ch, CURLOPT_URL, $url); // 要访问的地址
curl_setopt($ch, CURLOPT_HEADER, 0);// 设置是否显示返回头信息 1返回 0不返回 调试开启
curl_setopt($ch, CURLOPT_NOBODY, 0); //不想在输出中包含body部分,设置这个选项为一个非零值
curl_setopt($ch, CURLOPT_AUTOREFERER, 1); // 自动设置Referer
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);//获取的信息以文件流的形式返回
curl_setopt($ch, CURLOPT_BINARYTRANSFER, TRUE); //在启用CURLOPT_RETURNTRANSFER的时候,返回原生的(Raw)输出。
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE);//https 不进行ssl验证
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, FALSE);
curl_setopt($ch, CURLOPT_HTTPHEADER, $request_headers);//设置头信息
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, $method); //设置请求方式
if($cookies){
curl_setopt($ch, CURLOPT_COOKIEFILE,$cookies);
curl_setopt($ch, CURLOPT_COOKIEJAR, $cookies);
}
if($method == 'POST'){
curl_setopt($ch, CURLOPT_POST, TRUE);
}
if($method != 'GET'){
//格式化发送数据
if($data) {
if(is_array($data)) {
if ($type == 0) {
//supportkb 接口需要
$dataValue = http_build_query($data);
} elseif ($type == 1) {
$dataValue = json_encode($data, JSON_UNESCAPED_UNICODE);
}else{
//post 数组
$dataValue = $data;
}
}else{
$dataValue = $data;
}
}
if(!empty($dataValue)) {
curl_setopt($ch, CURLOPT_POSTFIELDS, $dataValue);
}
}
//发送请求获取返回响应
$result['data'] = curl_exec($ch);
$result['httpCode'] = curl_getinfo($ch,CURLINFO_HTTP_CODE);
if(strlen(curl_error($ch))>1){
$result = false;
}
curl_close($ch);
return $result;
}
?>