0

これが私の問題です:

最初にログインが必要なWebサイトのコンテンツを取得しようとしています。これをcURLで解決したかったのです。最初に、ログインが必要なページではなく、ログインページに接続します。CookieファイルにCookieが含まれていますが、以前にログインが必要なページのコンテンツを表示しようとすると、ログインページにリダイレクト(コンテンツを取得)するだけです。
ログインCookieの解析などが失敗したようです。そのため、Webサイトはログインしたことを覚えていません。

これが私のphpコードです:これまでのところ:

<?php
$loginUrl = 'https://www.****./login.html';



$loginFields = array('j_username'=>'***', 'j_password'=>'**'); //login form field names and values
$remotePageUrl = 'https://www.***/myPage/index.html'; //url of the page I want the content  

$login = getUrl($loginUrl, 'post', $loginFields); //login to the site

echo $remotePage = getUrl($remotePageUrl); //get the remote page

function getUrl($url, $method='', $vars='') {
    $ch = curl_init();

if ($method == 'post') {
    curl_setopt($ch, CURLOPT_POST, 1);
    curl_setopt($ch, CURLOPT_POSTFIELDS, $vars);
}
curl_setopt ($ch, CURLOPT_SSL_VERIFYHOST, 0);
curl_setopt ($ch, CURLOPT_SSL_VERIFYPEER, 0);
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
curl_setopt($ch, CURLOPT_COOKIESESSION, 1);
curl_setopt($ch, CURLOPT_COOKIEJAR, 'C:\\xampp\htdocs\***\cookies.txt');
curl_setopt($ch, CURLOPT_COOKIEFILE, 'C:\\xampp\htdocs\****\cookies.txt');

 $buffer = curl_exec($ch);

 if (curl_error($ch)) echo curl_error($ch);

curl_close($ch);

return $buffer;
}

?>

何か案は?Webで何時間も検索しましたが、まだ解決策が見つかりませんでした。
ありがとう!

4

1 に答える 1

0

解決策が見つかりませんでした。それにもかかわらず、私はすべての作業を手動で行い、プログラムはもう必要ありません、とにかくコメントに感謝します:)

于 2013-04-05T08:02:36.390 に答える