php模拟登录目标网站,为何302没有跟随跳转.cookie已经获得.求解惑.

问题描述

php模拟登录目标网站,为何302没有跟随跳转.cookie已经获得.求解惑.
 <?php
error_reporting(0);
$user       = 'cckk263';
//邮箱密码
$pass       = '54131421';
//登陆
$url = 'https://www.mql5.com/zh/auth_login/';

//创建一个用于存放cookie信息的文件
$cookie= dirname(__FILE__).'/tmp/cookie.txt';

$fields_post = array(
'Login'=> $user,
'Password'=> $pass,
'RedirectAfterLoginUrl'=>'https://www.mql5.com/zh',
'RememberMe'=>false,
);
//step 1
//获取一个cookie
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_HEADER, 0);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_COOKIEJAR, $cookie);
$content1 = curl_exec($ch);
curl_close($ch);

//step 2
//post 数据;
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_HEADER, 0);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 0);
curl_setopt($ch, CURLOPT_COOKIEJAR, $cookie);
// 从证书中检查SSL加密算法是否存在
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, FALSE);

curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 120);
// 自动跟随跳转
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
curl_setopt($ch, CURLOPT_AUTOREFERER, 1);

curl_setopt($ch, CURLOPT_POST, count($fields));
curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query($fields_post));
$result= curl_exec($ch);
curl_close($ch);

解决方案

首先你确定你存放cookie.txt的地方有权限访问吗?(确保获取到了保持的cookie),然后你还要check一下登陆的界面是否有隐藏的input 因为有些登陆系统登陆的时候还要你回传登陆时的某个隐藏字段

解决方案二:

$cookie= dirname(__FILE__).'/tmp/cookie.txt';

你cookie值有问题吧,$cookie存储的是你cookie文件路径,又不是cookie内容。。

 $cookie=file_get_contents( dirname(__FILE__).'/tmp/cookie.txt');

解决方案三:

Referer和User-Agent都回传了吗?

时间: 2024-08-18 08:34:25

php模拟登录目标网站,为何302没有跟随跳转.cookie已经获得.求解惑.的相关文章

c#-C# webbrowser模拟登录 flash网站

问题描述 C# webbrowser模拟登录 flash网站 想要登陆的网址是swf的,不知道怎么才能获取里面的相关数据.麻烦各位有没有知道的,或者提供些参考 解决方案 直接用httpwebrequest去获取数据,获取的方法可以借助fiddler看浏览器是怎么获取的并且模仿. 解决方案二: 现在是登陆之后,还要某一页面数据,点击查询的时候没有没有监测到url变化

asp怎么模拟登录aspx网站

问题描述 构造一个含有用户名和密码的URL可以Post模拟登录asp,jsp网站,但模拟登录aspx缺行不通,怎么才能解决呢?公司有很多管理系统,有asp的,jsp的,aspx的,想简单做一个集成的单点登录系统,其他的都可以,就是这个aspx登录不了. 解决方案 解决方案二:aspx站做个登录接口啊解决方案三:原来做aspx的找不到人了.解决方案四:别沉了,请教啊解决方案五:aspx登陆系统示例//<paramname="loginName">传递用户名</param

用php的curl模拟登录一个网站

问题描述 https://icpcarchive.ecs.baylor.edu/index.php?option=com_comprofiler&task=login就是上面那个网址,貌似cookie会变化,不知道怎么用curl模拟登录,求指导 解决方案 哥 抓包分析啊.你这样说太笼统了吧.

Httpclient 4.x 模拟登录遇到“未将对象引用设置到对象的实例”问题,求指导,谢谢!

问题描述 直接贴部分重要点的代码吧:post.setEntity(newUrlEncodedFormEntity(nvps,HTTP.UTF_8));HttpResponseresponse=client.execute(post);CookieStorecs=client.getCookieStore();List<Cookie>cookies=cs.getCookies();for(Cookiecookie:cookies){System.out.println(cookie.getNam

C# 利用 HttpWebRequest 和 HttpWebResponse 模拟登录有验证码的网站

原文:C# 利用 HttpWebRequest 和 HttpWebResponse 模拟登录有验证码的网站 我们经常会碰到需要程序模拟登录一个网站,那如果网站需要填写验证码的要怎样模拟登录呢?这篇文章利用了 HttpWebRequest 和 HttpWebResponse 模拟登录了有验证码的网站. 程序设计的界面很简单,三个TextBox分别输入用户名.密码和验证码,一个Image控件显示从网站请求到的验证码图片,还有两个按钮,一个换验证码,一个登录. 写程序前,先用浏览器的开发者工具观察下登

C# .NET 模拟登录带有验证码的网站,并自动提交表单数据!

问题描述 1.模拟登录的网址:http://www.pceggs.com/nologin.aspx2.登陆后的页面网址:http://www.pceggs.com/play/pc28.aspx3.登陆后模拟表单提交的页面网址:http://www.pceggs.com/play/pg28Insert.aspx?LID=679556(注:此页面需要登录后才可以查看,并LID的值是最新一期需要投注的ID数字)[说明:1和2只是模拟登录网站,3是登录后模拟表单提交数据!]希望高手帮忙解决,基本随时在线

php-PHP curl模拟登录网站但被困在登录页面

问题描述 PHP curl模拟登录网站但被困在登录页面 在以下的代码中我已经成功获取了cookies并保存在txt文档里,但是无法跳转到登录页面.请教?<?php $ch = curl_init(); $data='email= &password= &autologin=0'; $cookie_file=fopen($_SERVER['DOCUMENT_ROOT'].""cookies.txt""w""); curl_se

开发工具-curl 模拟登录网站,表单数据的填写问题

问题描述 curl 模拟登录网站,表单数据的填写问题 10C <form name=form1 method=post action=""/Control""><input type=""hidden"" name=""id"" value=""2000""><table border=""0&qu

模拟登录正方教务系统重定向页面拿到的状态码为什么 总是200不是302

问题描述 模拟登录正方教务系统重定向页面拿到的状态码为什么 总是200不是302 请求代码 List pairs = new ArrayList(); pairs.add(new BasicNameValuePair("__VIEWSTATE", "dDwyODE2NTM0OTg7Oz5hS%2FqlazCCYK7Agp6rx5GFtdHxlg%3D%3D")); pairs.add(new BasicNameValuePair("txtUserName&