PHP 用CURL POST后获取cookis并跳转到另一个页面

PHP 用CURL POST后获取cookis并跳转到另一个页面,第1张

无法实现

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等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/9778884.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-01
下一篇 2023-05-01

发表评论

登录后才能评论

评论列表(0条)

保存