2012-08-12 3 views
2

Je fait un bot pour la connexion de serveur distant system.For, je coder quelque chose,Connexion à distance Avec Curl

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); 
?> 

J'utilise ce code www.myhost.com/ sample.php ... La connexion est réussie.Mais je ne redirige pas forum.donanimhaber.com ... Dans le forum.donanimhaber.com, lorsque je clique sur un lien, mon navigateur redirige myhost.com/link.php et apparaît vide page .Normally doivent être forum.donanimhaber.com/link.php ...

Répondre

0

Le code doit générer le code HTML exact de la page et le sortir. Tous les liens dans cette page seront des liens relatifs. J'aime, <a href="/page.php>...</a>. Ainsi, lorsque vous cliquez, vous êtes redirigé vers mysite.com/page.php. Et comme il pourrait être vos paramètres, vous obtenez 404 pas trouvé et une page blanche.

Pour surmonter cela, vous devez soit remplacer tous les liens à rediriger vers le forum. Ou utilisez .htaccess toforce redrecter tous les liens sauf votre page principale.

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]