2012-08-12 179 views
2

我让远程服务器登录system.For这个机器人,我编码的东西,远程登录,卷曲

sample.php

<?php 
$EMAIL  = "***"; 
$PASSWORD = "***"; 
function cURL($url, $header=NULL, $cookie, $p=NULL) 
{ 
    $ch = curl_init(); 
    curl_setopt($ch, CURLOPT_HEADER, $header); 
    curl_setopt($ch, CURLOPT_NOBODY, $header); 
    curl_setopt($ch, CURLOPT_URL, $url); 
    curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 0); 
    curl_setopt($ch, CURLOPT_COOKIE, $cookie); 
    curl_setopt($ch, CURLOPT_USERAGENT, $_SERVER['HTTP_USER_AGENT']); 
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); 
    curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0); 
    curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1); 
    if ($p) { 
     curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "POST"); 
     curl_setopt($ch, CURLOPT_POST, 1); 
     curl_setopt($ch, CURLOPT_POSTFIELDS, $p); 
    } 
    $result = curl_exec($ch); 
    if ($result) { 
     return $result; 
    } else { 
     return curl_error($ch); 
    } 
    curl_close($ch); 
} 
$a = cURL("http://forum.donanimhaber.com/login2.asp",true,null,"Login=$EMAIL&password=$PASSWORD"); 
preg_match('%Set-Cookie: ([^;]+);%',$a,$b); 
$c = cURL("http://forum.donanimhaber.com/login2.asp",true,$b[1],"Login=$EMAIL&password=$PASSWORD"); 
preg_match_all('%Set-Cookie: ([^;]+);%',$c,$d); 
for($i=0;$i<count($d[0]);$i++) 
    $cookie.=$d[1][$i].";"; 
echo cURL("forum.donanimhaber.com",null,$cookie,null); 
?> 

我使用此代码www.myhost.com/ sample.php ...登录成功。但我没有重定向forum.donanimhaber.com ...在forum.donanimhaber.com,当我点击任何链接时,我的浏览器重定向myhost.com/link.php并出现空白页面正常要求为forum.donanimhaber.com/link.php ...

回答

0

该代码应生成页面的确切HTML并输出。该页面中的所有链接都将是相对链接。像,<a href="/page.php>...</a>。所以当你点击你实际上被重定向到mysite.com/page.php。因为它可能是你的设置,你没有找到404和空白页面。

要克服这个问题,您应该更换所有链接以重定向到论坛。或者使用.htaccess toforce删除您的主页面以外的所有链接。

RewriteCond %{HTTP_HOST} ^website.com 
RewriteRule (.*) http://forum.xyz.com/$1 [R=301,L] 

# do not do any rewriting to this file 
RewriteRule index\.php$ - [L]