2017-07-04 12 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); 
?> 

私はcurlスクリプト(https://wordpress.com/me)にログインした後、新しいURLにリダイレクトしたいと思っています。私はローカルホスト上でコードを実行した後、画面上に何も表示されません。また、私は、ブラウザ上で何を見ることができないのですが、クッキーは、この程度のファイルiログイン後にリダイレクトする方法

答えて

0

方法をcookie.txtするために挿入されている、またはあなたが興味を持っている場合、私は疑問?:

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

をmissunderstoodていますカールといくつかのチェーンの要求をして、この質問に回答を調査してみてください: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のアイコンを取得します。フルワードプレスのユーザープロフィールをブラウザに表示する方法に関するアイデアはありますか?

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"変数を解析して、(基本的な "エコー"ではなく)必要な情報を取得することができます。

(あなたの「if」とCURLOPT_POST内の余分な括弧があなたの「if」文で0の代わりに、1に設定する必要があります持って、気をつけてください)
関連する問題