网络编程 - 使用PHP通过不同页面访问同一主机的cookie传递问题
程序员文章站
2022-04-18 20:22:54
...
在本地 Apache 上有两个文件:
然后将一些参数传递给
a.php
& b.php
。a.php
文件首先通过curl
和Host联系并且创建cookie
。然后将一些参数传递给
b.php
,再让b.php
使用a.php
创建的cookie
联络Host。
请问该怎么实现?
回复内容:
在本地 Apache 上有两个文件:a.php
& b.php
。a.php
文件首先通过curl
和Host联系并且创建cookie
。
然后将一些参数传递给 b.php
,再让b.php
使用a.php
创建的cookie
联络Host。
请问该怎么实现?
把cookie保存下来,如果你用的原生cURL的话,那就落地成文件保存。
再次访问的时候,读取保存的cookie文件就OK了。
自己看下吧。看你表述的好累。
$post='__EVENTTARGET=&__EVENTARGUMENT=&__VIEWSTATE=';
// 初始化
$curl = curl_init('http:///login.aspx');
$header = array();
$header[] = 'Host: 113.';
$header[] = 'Connection: keep-alive';
$header[] = 'Cache-Control: max-age=0';
$header[] = 'Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8';
$header[] = 'Origin: http://113.';
$header[] = 'User-Agent: Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/42.0.2311.90 Safari/537.36';
$header[] = 'Content-Type: application/x-www-form-urlencoded';
$header[] = 'Referer: http:///login.aspx';
$header[] = 'Accept-Encoding: gzip, deflate';
$header[] = 'Accept-Language: zh-CN,zh;q=0.8';
$header[] = 'Cookie: ASP.NET_SessionId='.$cookies;
curl_setopt($curl, CURLOPT_HTTPHEADER, $header);
// 不输出header头信息
curl_setopt($curl, CURLOPT_HEADER, 1);
// 保存到字符串而不是输出
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
// post数据
curl_setopt($curl, CURLOPT_POST, 1);
// 请求数据
curl_setopt($curl, CURLOPT_POSTFIELDS, $post);
// 是否抓取跳转后的页面
curl_setopt($curl, CURLOPT_FOLLOWLOCATION, 1);
$response = curl_exec($curl);
curl_close($curl);
$rs=strlen($response);
你为什么不直接在a.php的末尾require b.php?