2016-08-08 3 views
0

WebページにcURLリクエストを送信し、設定する必要があるCookieを取得してから、次のcURLリクエストを実行するためにCookieを設定するPHPファイルがあります。 :前のcURLからすべてのクッキーを次のcURLに追加する方法

<?php 
$ch = curl_init('https://www.roblox.com/newLogin'); 
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); 
curl_setopt($ch, CURLOPT_POSTFIELDS, array(
    username => "EncodedLua", 
    password => "", // Hidden 
    submitLogin => "Log In" 
)); 

curl_setopt($ch, CURLOPT_HEADER, 1); 
$result = curl_exec($ch); 
preg_match_all('/^Set-Cookie:\s*([^;]*)/mi', $result, $matches); 
$cookies = array(); 
$roblosecuritykey = ""; 

foreach($matches[1] as $item) { 
    parse_str($item, $cookie); 
    $cookies = array_merge($cookies, $cookie); 

    // Set all of the returned cookies 
} 

curl_close($ch); 

$ch2 = curl_init('https://www.roblox.com/groups/api/change-member-rank'); 
curl_setopt($ch2, CURLOPT_POSTFIELDS, array(
    groupId => 2902455, 
    newRoleSetId => 19777964, 
    targetUserId => 55203439 
)); 
curl_setopt($ch2, CURLOPT_HEADER, 1); 
$result2 = curl_exec($ch2); 

curl_close($ch2); 
?> 

どのようにすべてのクッキーを分けて、名前と値を単独で取得するのか分かりません。どうすればいい?

+3

は 'CURLOPT_COOKIEJAR'と' CURLOPT_COOKIEFILE'オプションを使用します。 – Barmar

答えて

1

ただ、クッキージャーでこれらのクッキーを置く:

<?php 
$ch = curl_init('https://www.roblox.com/newLogin'); 
curl_setopt($ch, CURLOPT_COOKIEJAR, "/home/me/mycookies"); 
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); 
curl_setopt($ch, CURLOPT_POSTFIELDS, array(
    username => "EncodedLua", 
    password => "", // Hidden 
    submitLogin => "Log In" 
)); 
+0

"curl_setopt($ ch、CURLOPT_COOKIEJAR、" rbxcookies.txt ");という行を追加しました。 CURL_RETURNTRANSFER行の後に書かれていません。 – TreeHouseFalcon

+0

実際に、自分のサイトで設定したクッキーは他のドメインでアクセスできるか、それとも指定する必要がありますか? – TreeHouseFalcon

+0

Cookieはドメイン固有です。どのドメインのCookieを使用するのかを指定できますが、Yahoo.comではGoogle.comで使用するCookieを設定することはできません。 Firebug/Chrome Debuggerを使用して、サイトや他のユーザーのCookieを確認してください。 –

関連する問題