无法实现
php在服务器上用curl取得的cookies是存在于php程序所保存的位置
通过php登陆,php可以用这个cookies来访问管理界面,这个没有问题。
但是如果你用了header("Location: "),就不行了。网址转向以后,是访问者浏览器去访问,浏览器并没办法获取到你所保存的cookies,浏览器里没有登陆的cookies,所以不能“直接”打开管理界面,必须要重新登陆才行。
如果你用setcookie,你所设置的cookies对应的域名也不对,不能跨域,所以还是得再次在浏览器内登陆。
除非在“管理界面”端写一个api,通过调用这个api,把cookies写进访问者的浏览器里面。
$querystring = "key1=value1&key2=value2"; //get方式querystring
$cookie_jar='' //手动登陆一次后获取cookie文件路径,,这里填写cookie路径
我们需要使用爬虫程序对目标网站登录时的请求进行一次抓取,获取请求中的cookie数据;
在使用个人信息页的url进行请求时,该请求需要携带cookie,只有携带了cookie后,服务器才可识别这次请求的用户信息,方可响应回指定的用户信息页数据。
爬虫除了要注意Cookie的限制之外,还需要注意其他的反爬虫,比如IP限制,这就需要使用极光代理IP进行更换IP地址,以其他的IP地址继续访问,突破网络限制。当然,还有其它很多的限制,爬虫在进行采集之前需要好好分析网站的反爬虫策略。
利用jquerycookiesjs插件获取指定cookies值(key=value,可能有多个),然后在放到params 里面
$post('百度URL',
{key1: value1, key2:value2},
function(jsondata){
//doing job
},
'json', //返回json类型
);
如果这段POST代码和提交的目标页面不在同一个域,脚本是没权限给它设置cookies的,这是浏览器的基本保护措施。
如果是同一个域,直接在本页面设置cookies就行了,无需给POST数据包中插入cookies
不知道你用的是>
两种方式:
一、
接口,可以pip install requests模块,安装一个requests,对接口支持简单好用
例子,写一个getcookie()方法
import requests
def getcookie():
data={'username':username,'password':pwd}
session=requestssession()
loginurl=">
以上就是关于PHP 用CURL POST后获取cookis并跳转到另一个页面全部的内容,包括:PHP 用CURL POST后获取cookis并跳转到另一个页面、php post提交 怎么带上cookies、爬虫 如何抓包获取cookie等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)