- 论坛徽章:
- 0
|
已经可以登录了。但是发文章老不成功。
1、登录通行证。将cookies保存下来
2、打开发布文章页面,将此页面里的cookeis也保存下来
3、用2步的cookies,将文章表单想发布文章action post。
我拿httpwatch分析了一下,cookies并没有少。但是不知道为什么就是发布不了。各位大虾帮忙看看。
- <?php
- include("Snoopy.class.php");
- $username = "kenvinqu";
- $password = "*****";
- $blogurl = [url=http://hi.baidu.com/kenvin]http://hi.baidu.com/kenvin[/url];
- // **** 第一步: 登录
- $url = "http://passport.baidu.com/?login";
- $snoopy = new Snoopy();
- $data = array(
- "tpl" => "sp",
- "u" => $blogurl,
- "return_method" => "get",
- "psp_tt" => "0",
- "username" => $username,
- "password" => $password
- );
- $snoopy->submit($url, $data);
- $snoopy->setcookies();
- print_r($snoopy->cookies);
- // **** 第二步: 访问发布文章页面,获取cookies
- $url = $blogurl."/creat/blog/";
- $snoopy->fetch($url);
- $snoopy->setcookies();
- $cookies = $snoopy->cookies;
- //$cookies['BAIDUID'] = str_replace($cookies['BAIDUID'], ":FG=1", "");
- $cookies['BD_UTK_DVT'] = 1;
- print_r($snoopy->cookies);
- // **** 第三步: 发布文章 post数据
- $snoopy = new Snoopy();
- $url = $blogurl."/commit";
- //$url = "http://hi.baidu.com/kenvin/modify/spbasic/0";
- //$url = "http://localhost/t.php";
- $snoopy->referer = $blogurl."/creat/blog/";
- $snoopy->cookies = $cookies ; // 将上面2步的cookies附加
- $data = array(
- "ct"=>1,
- "cm" => 1,
- "spRefURL" => $blogurl."/creat/blog/",
- "spBlogTitle" => "5555555",
- "spBlogText" => "ssssssssssssssss sdf" ,
- "spBlogCatName" => "美女",
- "spIsCmtAllow" => "1",
- "spBlogPower" => "0",
- "spVcode" => "",
- "spVerifyKey" => "",
- "tj" => "",
- );
- $snoopy->submit($url, $data);
- //$snoopy->fetch($url);
- ?>
- <html><head><meta http-equiv=Content-Type c><title> </title></head><body>
- <?php
- echo '<textarea name="" rows="30" cols="80">';
- print_r( $snoopy );
- echo '</textarea>';
- ?>
复制代码
解决的问题:
1、成功登录。
2、用程序能成功获取发布文章页面以及其他任何需要登录才能访问的页面。说明登录没有问题
遇到的问题:
发布文章url : http://hi.baidu.com/kenvin/commit
只要向此urlpost数据,返回的http header得不到任何信息。很奇怪。 |
|