很多站长朋友们都不太清楚带cookie的php,今天小编就来给大家整理带cookie的php,希望对各位有所帮助,具体内容如下:
本文目录一览: 1、 PHP中如何使用Cookie 2、 php如何带cookies访问需要登录的网站 3、 php使用curl带cookie访问一直失败求助 4、 php 带cookie访问链接 5、 php获取cookie后怎么使用 PHP中如何使用Cookie比如设置一个名为 MyCookier的Cookie,PHP会自动从WEB服务器接收的HTTP头里把它分析出来,并形成一个与普通变量一样的变量,名为$ myCookie,这个变量的值就是Cookie的值。数组同样适用。另外一个办法是引用PHP的全局变量$HTTP_COOKIE_VARS数组。 分别举例如下:(假设这些都在以前的页面里设置过了,并且仍然有效) echo $MyCookie; echo $CookieArray[0]; echo $_COOKIE["MyCookie"]; echo $HTTP_COOKIE_VARS["MyCookie"]; 要删除一个已经存在的Cookie,有两个办法: 1、SetCookie(“Cookie”, “”); 2、SetCookie(“Cookie”, “value” , time()-1 / time() ); 使用Cookie的限制 1、必须在HTML文件的内容输出之前设置; 2、不同的浏览器对Cookie的处理不一致,且有时会出现错误的结果。 3、限制是在客户端的。
php如何带cookies访问需要登录的网站使用curl
CURLOPT_COOKIE 设定HTTP请求中"Cookie: "部分的内容。多个cookie用分号分隔,分号后带一个空格(例如, "fruit=apple; colour=red")。
CURLOPT_COOKIEFILE 包含cookie数据的文件名,cookie文件的格式可以是Netscape格式,或者只是纯HTTP头部信息存入文件。
CURLOPT_COOKIEJAR 连接结束后保存cookie信息的文件。
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url); // 请求的地址
curl_setopt($ch, CURLOPT_COOKIEJAR, $cookiesfile); // 连接结束后保存cookie信息的文件
curl_setopt($ch, CURLOPT_COOKIEFILE, $cookiesfile); // 请求时发送的cookie信息文件
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_exec($ch);
curl_close($ch);
php使用curl带cookie访问一直失败求助楼主可以借鉴下,首先,利用curl发送post请求登录login.php,成功,并且保存了cookie文件。
第二步,post发送数据包到co_get_corule.php,失败,得到登录页面的源码。
于是,尝试简单的get请求,get获取index.php,同上,依旧是cookie没带上的效果。
第三步,检查cookie文件,确实存在,且内容也是正确的。如果楼主有时间的话,可以多去后盾人学习,里面有不错的东西
php 带cookie访问链接四、需要cookie支持的采集
对于模拟登录的应用,单单提交参数和模拟来路并不能解决问题,这时候我们就需要保存或者提交相应的Cookie参数,这个在PHP cURL里面也提供了相应的参数:
CURLOPT_COOKIE: 直接使用字符串方式提交cookie参数
CURLOPT_COOKIEFILE: 使用文件方式提交cookie参数
CURLOPT_COOKIEJAR: 保存提交后反馈的cookie数据
//使用提交后得到的cookie数据做参数
curl_setopt($ch,CURLOPT_COOKIEFILE,$cookie_file);
更多内容请参考我的博客《PHP cURL实现模拟登录与采集使用方法详解教程》
php获取cookie后怎么使用php获取cookie使用方法:
cookie和session都可以暂时保存在多个页面中使用的变量,但是它们有本质的差别。cookie存放在客户端浏览器中,session保存在服务器上。它们之间的联系是session ID一般保存在cookie中。
cookie工作原理
当客户访问某个网站时,在PHP中可以使用setcookie函数生成一个cookie,系统经处理把这个cookie发送到客户端并保存在c:Documents and Settings用户名\Cookies目录下。cookie是HTTP标头的一部分,因此setcookie函数必须在任何内容送到浏览器之前调用。这种限制与header()函数一样。当客户再次访问该网站时,浏览器会自动把c:Documents and Settings用户名\Cookies目录下与该站点对应的cookie发送到服务器,服务器则把从客户端传来的cookie将自动地转化成一个PHP变量。
通过$_COOKIE['xxx']读取客户端发来的cookie。
创建 cookie
通过 setcookie() 函数来创建一个 cookie ,成功返回 TRUE ,否则返回 FALSE 。
语法:
bool setcookie( string name [, string value [, int expire [, string path [, string domain ]]]] )
参数说明:
name cookie 名称
value 可选,cookie 值
expire 可选,过期时间,时间戳格式
path 可选,服务器端有效路径,/ 表示整个域名有效,默认为当前设置 cookie 时页面的路径
domain 可选,该 cookie 有效的域名
<?php
setcookie("username", "nostop", time()+3600); //设置了一个名称为 username 的cookie,其值为 xiaoli ,并在1小时候后过期。如果时间也被省略,cookie 将会在会话结束后(一般是浏览器关闭)失效。
?>
cookie 会以一定格式被存储在用户计算机特定位置。
<?php
setcookie("username", "nostop", time()+3600, "/", ".example.com"); //在example.com 域名的 / 路径下该 cookie 都有效(即全站有效)。
?>
读取 cookie
PHP 内置了 $_COOKIE 变量以访问设置的 cookie 值。
例子:
<?php
echo $_COOKIE["username"]; //nostop
?>
销毁 cookie
可以通过设置 cookie 过期时间为以前的时间点来销毁一个 cookie :
<?php
setcookie("username", "", time()-3600);
?>
cookie注意事项
1、SetCookie()之前不能有任何html输出,就是空格,空白行都不行。
2、SetCookie()后,你在当前页调用echo $_COOKIE["name"]不会有输出。必须刷新或到下一个页面在过期之前才可以看到Cookie值。
3、由于 cookie 信息存储于用户的计算机中,那么就有可能伪造或修改 cookie 从而造成 cookie 欺骗,一般可以对 cookie 的值进行加密来预防欺骗。读取 cookie 的时候,对 cookie 解密即可。
4、Cookie是保存在客户端的,用户禁用了Cookie,你的Cookie自然也就没作用啦!
<?php
setcookie('username','nostop',time()+3600); //创建cookie
if(isset($_COOKIE["username"])){ //使用isset()函数检测cookie变量是否已经被设置
echo "您好!".$_COOKIE["username"]; //您好!nostop 读取cookie
}else{
echo "请登陆";
}
?>
关于带cookie的php的介绍到此就结束了,不知道本篇文章是否对您有帮助呢?如果你还想了解更多此类信息,记得收藏关注本站,我们会不定期更新哦。
查看更多关于带cookie的php 带cookie的昵称的详细内容...