下面是一个简单的程序,用php模拟登录,然后发文章到QQ空间。有需要的朋友可以参考$method,'header'=>$header,'content'=>$postdata);//生成流$context=stream_context_create($opts);//发送请求,获取源码$yuanma=file_get_contents($url,false,$context);//是否需要将cookie保存到文件中,如果不是$cookiefileemptyif($cookiefile!=''){echo'需要保存cookie
';//判断保存的文件存在,如果不存在则创建if(!file_exists($cookiefile)){file_put_contents($cookiefile,'');}//获取cookie并保存$response=implode("rn",$http_response_header);//用正则模式匹配cookie$zengze="/Set-Cookie:(.*?)rn/";preg_match_all($zengze,$response,$cookie_arr);//有匹配,保存if(!emptyempty($cookie_arr[1])){$cookiestr=implode(';',$cookie_arr[1]);file_put_contents($cookiefile,$cookieistr);echo'保存cookie成功
';}elseecho'不匹配cookie
';}//endif($cookiefile!='')//返回源return$yuanma;}//endfunctionrequest($url,$referer,$postdata,$cookie,$cookiefile)//获取当前脚本URLfunctionGetCurUrl(){if(!emptyempty($_SERVER["REQUEST_URI"])){$scriptName=$_SERVER["REQUEST_URI"];$nowurl=$scriptName;}else{$scriptName=$_SERVER["PHP_SELF"];if(emptyempty($_SERVER["QUERY_STRING"])){$nowurl=$scriptName;}else{$nowurl=$scriptName."?".$_SERVER["QUERY_STRING"];}}return$nowurl;}//获取当前文件名$nowurl=GetCurUrl();//echo$nowurl;//表单输出,未提交时if(!isset($_POST['qq'])){echo'
g_tk:
标题:
Content:
';file_put_contents($cookiefile,'');die('程序退出');}//存在,读取cookieelse{$cookie=file_get_contents($cookiefile);//登录cookie//$cookie=urlencode($cookie);}//echo'cookie:'.$cookie.'
';//构成发布页面的重要信息,post数据等//qq号if(emptyempty($_POST['qq'])||preg_match('/[^0-9]/is',$_POST['qq']))die('qq号错了,必须是一个number');else$qq=$_POST['qq'];//qq号if(emptyempty($_POST['g_tk'])||preg_match('/[^0-9]/is',$_POST['g_tk']))die('post重要参数g_tk无效,必须为数字,请使用抓取值');$g_tk=$_POST['g_tk'];$title=emptyempty($_POST['title'])?die('Titlemustnotbeempty'):$_POST['title'];//文章标题$content=emptyempty($_POST['content'])?die('内容不得为空为空'):$_POST['content'];//内容$category='个人日记';//分类$fabiao='http://b1.qzone.qq.com/cgi-bin/blognew/blog_add?g_tk='.$g_tk;//发布处理页面$referer='http://ctc.qzs.qq.com/qzone/v5/toolpages/fp_gbk.html';//来源页面$r1='http://user.qzone.qq.com/'.$qq.'/infocenter';//列出访问源页面$postdata='uin='.$qq.'&category='.urlencode($category).'&title='.urlencode($title).'&content='.urlencode($content).'&html='.urlencode('
