php 带cookie请求数据
我们专注web相关开发,拥有多年的开发经验,可开发任意类型网站、小程序、app、企业系统等 查看详情
网站后台向其它网页请求数据时,因为有的网页必须要登录,所以必须得带上cookie。
以下代码都已经封装好,直接直接传入cookie和post数据。
通用型方法
function HttpAction($url,$post = array(),$cookie = array()){
if (is_array($cookie)){
$cookies = '';
foreach ($cookie as $key => $value) {
$cookies .= $key.'='.$value.';';
}
}else{
$cookies = $cookie;
}
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, $post);
curl_setopt($ch, CURLOPT_COOKIE, $cookies);
$result = curl_exec($ch);
curl_close($ch);
return $result;}
zblog方法
function HttpAction($url,$post = array(),$cookie = array()){
if (is_array($cookie)){
$cookies = '';
foreach ($cookie as $key => $value) {
$cookies .= $key.'='.$value.';';
}
}else{
$cookies = $cookie;
}
$ask = Network::Create();
$ask->open('POST', $url);
$ask->enableGzip();
$ask->setTimeOuts(120, 120, 0, 0);
$ask->setRequestHeader('Cookie', $cookies);
$ask->send($post);
if ($ask->status == 200){
return $ask->responseText;
}
return false;}
Network类是zblog系统已经封装好的方法,建议使用这个。
cookie说明
输入的cookie,可以是数组,也可以是字符串。
数组
array(
'token' => '1111111111111',
'id' => '50',);
字符串
token=1111111111111;id=50
表示看不懂!
实际使用到就能懂了