php模拟浏览器提交数据 php模拟浏览器提交数据怎么删除

php如何模拟浏览器行为,解决重定向问题

首先就是清除网站的 Cookie或允许第三方Cookie。不过,对于普通用户而言,可能并不知道怎么清除Cookie。注意:大多数情况下出现这种情况都是由于Cookie或禁用Cookie产生的。下面介绍几个主流浏览器清除Cookie的方法:

创新互联建站专注于蒲城企业网站建设,响应式网站开发,商城网站制作。蒲城网站建设公司,为蒲城等地区提供建站服务。全流程定制制作,专业设计,全程项目跟踪,创新互联建站专业和态度为您提供的服务

打开浏览器网页提示此网页包含重定向循环解决方法:

第一,对于广大的IE用户,鼠标点击IE图标,打开IE浏览器,“工具”,打开“Internet属性”对话框,找到如图所示(其它选项都不要勾选):

1174041176c05d248621ce1d6e3ffb4d.png

点击删除按钮即可。

第二,对于火狐浏览器(Firefox),打开浏览器,“工具”-“选项”-“隐私”,点击“删除私人cookie”即可。

96e164d8e02f62fb4242e6cad6cce524.png

1d2087a373fe6d338812daff77b21a53.png

当然,你也可以下拉选择“从不记录历史”,这样Firefox就不会再保存网站cookie。同样你也可以“使用自定义历史记录设置”,这样你就可以清除或设置cookie有效期。

除此之外,你还可以选择“工具”-“页面信息”-“安全”,这样你就可以仅仅查看和清楚当前网站的cookie。

第三,对于谷歌浏览器(Chrome),“工具”-“清除浏览数据”-“删除cookie和其他网站数据”,这样就清楚了网站cookie。

如果使用这种方法,问题还是没有解决,则基本可以断定就是网站服务器配置的问题。有些站长将网址example.com重定向至,由于重定向错误而导致出现此问题。

最后,着重介绍一下wordpress升级到3.1版本导致的重定向过多,从而无法进入首页。

这个可以通过修改以下文件中的任何一个即可解决首页包含过多重定向的问题。这两个文件均位于wp_includes文件夹下。首先,对于canonical.php文件的修改,利用文本编辑器打开该文件,开头注释下面就可以找到如下语句:

function redirect_canonical( $requested_url = null, $do_redirect = true ) {

把true修改为false即可。

其次,对于template-loader.php文件,打开之后找到如下代码片段:

if ( defined('WP_USE_THEMES') WP_USE_THEMES )do_action('template_redirect');

把这段代码删除或者用PHP的注释符号注释掉即可,你可以用“”多行注释来注释掉此段代码。

还有一种情况也会出现重定向过多的情况。不过这个是在文章以及评论RSS这个页面上。由于重定向导致你的博客无法被订阅者收到更新。这种情况大多是由于安装feedburner插件所致,卸载此插件即可解决问题。

浏览器出现此网页包含重定向循环也是比较正常的,只要按照浏览器提供的解决方法去解决即可解决这类故障问题,如果用户不懂得去操作的话,也可以按照教程中的详细方法去设置,相信问题也很容易可以得到解决。

php如何模拟浏览器行为

// 用户名

$login = ‘username’;

//密码

$password = ‘password’;

//163的用户登陆地址

$url = “”;

//post 要提交的数据

$fields = “verifycookie=1style=16product=mail163username=”.$login.”password=”.$password.”selType=jyremUser=secure=on%B5%C7%C2%BC%D3%CA%CF%E4=%B5%C7%C2%BC%D3%CA%CF%E4″;

// 用来存放cookie的文件

$cookie_file = dirname(__FILE__).”/cookie.txt”;

// 启动一个CURL会话

$ch = curl_init();

// 要访问的地址

curl_setopt($ch, CURLOPT_URL, $url);

// 对认证证书来源的检查,0表示阻止对证书的合法性的检查。

curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0);

// 从证书中检查SSL加密算法是否存在

curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 1);

//模拟用户使用的浏览器,在HTTP请求中包含一个”user-agent”头的字符串。

curl_setopt($ch, CURLOPT_USERAGENT, “Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.0)”);

// 发送一个常规的POST请求,类型为:application/x-www-form-urlencoded,就像表单提交的一样。

curl_setopt($ch, CURLOPT_POST, 1);

//要传送的所有数据,如果要传送一个文件,需要一个@开头的文件名

curl_setopt($ch, CURLOPT_POSTFIELDS, $fields);

//连接关闭以后,存放cookie信息的文件名称

curl_setopt($ch, CURLOPT_COOKIEJAR, $cookie_file);

// 包含cookie信息的文件名称,这个cookie文件可以是Netscape格式或者HTTP风格的header信息。

curl_setopt($ch, CURLOPT_COOKIEFILE, $cookie_file);

// 设置curl允许执行的最长秒数

//curl_setopt($ch, CURLOPT_TIMEOUT, 6);

// 获取的信息以文件流的形式返回,而不是直接输出。

curl_setopt($ch, CURLOPT_RETURNTRANSFER,1);

// 执行操作

$result = curl_exec($ch);

if ($result == NULL) {

echo “Error:

“;

echo curl_errno($ch) . ” – ” . curl_error($ch) . ”

“;

}

// 关闭CURL会话

curl_close($ch);

上面这个例子相对简单,因为用户名和密码可以明文传输,而且登陆也不需要验证码。qq.com的模拟登陆相对就麻烦多了,首先要突破验证码这关,然后由于 QQ密码是经过javascript加密后传输的,登陆界面也要模拟出来,下一篇文章再继续深入谈谈QQ的模拟登陆。

如何用php模拟浏览器post二进制数据到服务器

CURL

  $url = "";

$post_data = array ("username" = "bob","key" = "12345");

$ch = curl_init();

curl_setopt($ch, CURLOPT_URL, $url);

curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);

// post数据

curl_setopt($ch, CURLOPT_POST, 1);

// post的变量

curl_setopt($ch, CURLOPT_POSTFIELDS, $post_data);

$output = curl_exec($ch);

curl_close($ch);

//打印获得的数据

print_r($output);

PHP模拟浏览器

JS开启新窗口会被一些浏览器阻止。

可以用别的方式来实现,具体看你的需求是什么样了。

比如可以弹出浮动层来替代窗口。


当前文章:php模拟浏览器提交数据 php模拟浏览器提交数据怎么删除
URL分享:http://myzitong.com/article/ddciedp.html