もっとコードを見る必要がありますが、最初のリクエストからセッションクッキーを収集し、その後のPOSTで使用するサンプルビットがあります。それは匿名プロキシを使用して任意のURLでGETリクエストを実行します。(COOKIEJARは使用していませんが、明らかに役立ちますが、まだ役立つと感じています)。
<?php
define('TARGET_URL', 'http://moxune.com');
echo 'Sending initial request' . PHP_EOL;
$aHeaders = get_headers("http://420proxy.info");
foreach($aHeaders as $sHeader) {
if(stripos($sHeader, 'set-cookie') !== false) {
// extract the cookie from the first response
$aCookie = explode(':', $sHeader);
$sCookie = trim(array_pop($aCookie));
$oCookie = http_parse_cookie($sCookie);
echo 'Cookie extracted, trying to POST now' . PHP_EOL;
// OK, now let's try the POST request
$ch = curl_init('http://420proxy.info/includes/process.php?action=update');
curl_setopt($ch, CURLOPT_REFERER, '420.proxy.info');
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_COOKIE, $sCookie);
curl_setopt($ch, CURLOPT_HEADER, true);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true);
curl_setopt($ch, CURLINFO_HEADER_OUT, true);
curl_setopt($ch, CURLOPT_HTTPHEADER, array('Expect: 100-continue'));
//curl_setopt($ch, CURLOPT_COOKIE, http_build_cookie((array)$oCookie));
curl_setopt($ch, CURLOPT_POSTFIELDS, array(
'u' => TARGET_URL,
'allowCookies' => 'off',
'encodeURL' => 'off',
'stripJS' => 'on'
)
);
$response = curl_exec($ch);
die(var_dump($response));
}
}
'CURLOPT_COOKIEJARの部分はクッキーを作成します - 作成したファイルに実際にクッキー値があり、空ではないことを確認しましたか?最初のリクエストのレスポンスヘッダから 'Set-Cookie'ヘッダが存在することを確認できますか? – drew010
チェックすると、Cookieが作成され、コンテンツにはヘッダーの値が反映されます。 – Arnoldiusss
私は少し損失があります。より完全なコードを投稿したいと思いますか、アクセスしようとしているサイトのURLを試してみることができますか? – drew010