2017-07-04 16 views
0
<?php 
$username = ""; 
$password = ""; 
$url = "https://wordpress.com/wp-login.php"; 
$cookie = dirname(__FILE__)."/cookie.txt"; 

$postdata = "log=".$username."&pwd=".$password."&rememberme=forever&wp-submit=Log+In&redirect_to=https%3A%2F%2Fwordpress.com%2F&testcookie=1 
"; 
$ch = curl_init(); 
curl_setopt ($ch, CURLOPT_URL, $url); 

curl_setopt ($ch, CURLOPT_SSL_VERIFYPEER, FALSE); 
curl_setopt ($ch, CURLOPT_USERAGENT, "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1.6) Gecko/20070725 Firefox/2.0.0.6"); 
curl_setopt ($ch, CURLOPT_TIMEOUT, 60); 
curl_setopt ($ch, CURLOPT_FOLLOWLOCATION, 1); 
curl_setopt ($ch, CURLOPT_RETURNTRANSFER, 1); 
curl_setopt ($ch, CURLOPT_COOKIEJAR, $cookie); 
curl_setopt ($ch, CURLOPT_COOKIEFILE, $cookie); 
curl_setopt ($ch, CURLOPT_REFERER, "https://wordpress.com/wp-login.php?redirect_to=https%3A%2F%2Fwordpress.com%2F"); 
curl_setopt($ch, CURLOPT_VERBOSE, true); 
curl_setopt ($ch, CURLOPT_POSTFIELDS, $postdata); 
curl_setopt ($ch, CURLOPT_POST, 1); 

$result = curl_exec ($ch); 
if(!$result) { 
    echo "erro".curl_error($ch); 
} 
if($result) { 


    { 


    curl_setopt($ch, CURLOPT_POST, 1); // change back to GET 
    curl_setopt($ch, CURLOPT_URL, 'https://wordpress.com/me'); // set url for next request 

    $exec = curl_exec($ch); // make request to buy on the same handle with the current login session 
} 
} 
curl_close($ch); 
unset($ch); 
?> 

我想後,我成功登錄捲曲腳本(https://wordpress.com/me)將被重定向到一個新的URL。在本地主機上運行代碼後,屏幕上什麼都沒有。還我不能夠在瀏覽器中查看什麼,但餅乾被插入到cookie.txt文件如何重定向後,我洛捲曲腳本

回答

0

這個怎麼樣,還是我missunderstood問題?:

header("Location: http://newurl.com"); 
exit(); 

如果您有興趣做一些連鎖的請求,捲曲,試圖在這個問題調查的迴應:Keeping session alive with Curl and PHP

0
$result = curl_exec ($ch); 
if(!$result) { 
    echo "erro".curl_error($ch); 
} 
if($result) { 
curl_setopt ($ch, CURLOPT_URL, "https://wordpress.com/me"); 
curl_setopt ($ch, CURLOPT_USERAGENT, "Mozilla/5.0 (Windows NT 6.1; WOW64; rv:54.0) Gecko/20100101 Firefox/54.0"); 
curl_setopt ($ch, CURLOPT_TIMEOUT, 60); 
curl_setopt ($ch, CURLOPT_FOLLOWLOCATION, 1); 
curl_setopt ($ch, CURLOPT_RETURNTRANSFER, 1); 
curl_setopt ($ch, CURLOPT_COOKIEJAR, $cookie); 
echo $resulttwo = curl_exec ($ch); 


if(!$resulttwo) { 
    echo "erro".curl_error($ch); 
} 
    //header("Location: https://wordpress.com/me"); 
//exit(); 
} 
curl_close($ch); 
unset($ch); 


?> 

我已經試過這種但是當我重新加載瀏覽器選項卡我在左上角只得到WordPress的圖標。關於如何在瀏覽器上顯示完整WordPress用戶配置文件的任何想法?

0

你試過只是echo $exec;

if($result) { 
    curl_setopt($ch, CURLOPT_POST, 0); // change back to GET 
    curl_setopt($ch, CURLOPT_URL, 'https://wordpress.com/me'); // set url for next request 
    $exec = curl_exec($ch); // make request to buy on the same handle with the current login session 
    echo $exec; 
} 

之後,你可以解析「$ EXEC」變量,以獲取你需要(而不是僅僅是基本的「回聲」)的任何信息。

(看出來,你有你的「如果」和CURLOPT_POST應在0而不是1在您的「如果」語句設置額外的支架)