0

最近、JSON プラグインを使用して wiki ページのコンテンツを取得することに成功しました。

        $username = '****';
        $password = '****';
        $sc = new Serverclient_helper();
        $login = "http://********/api.php?action=login&lgname=$username&lgpassword=$password";
        $content = $sc->getContent($login,array(),false);   

        $host = "http://******/api.php?action=parse&format=json&page=Main";
        $content = $sc->getContent($host);
        $content = json_decode($content);

今日、私は同じことをしようとしましたが、wiki ページのように、ログインが必要な別のページも使用しました。成功しませんでした。このページがウィキページの構造を持っていないことが原因だと思います。ここにウィキページへの何か。よく読んで、自分のページがフォームベースの認証を使用していることを理解しました。しかし、ページのコンテンツ全体にアクセスする方法を知りたいです。

curl_setoptも使用しましたが、コンテンツを取得するのに役立ちませんでした。ログインページしか表示されず、ログインできませんでした。

これが私のコードです:

$username='*****';
$password='*****';
$location='http://*****/startphp';


$mycurl = curl_init ();
curl_setopt($mycurl,CURLOPT_URL,$location);
curl_setopt($mycurl,CURLOPT_RETURNTRANSFER,1);
curl_setopt($mycurl,CURLOPT_USERPWD,"$username:$password");
curl_setopt($mycurl, CURLOPT_TIMEOUT, 10);

$result = curl_exec ($mycurl); 
var_dump($result);

前もって感謝します!

4

1 に答える 1

0

CURLOPT_USERPWD基本 HTTP 認証専用です。

POSTサービスに合ったコマンドを使用する必要があります。

$data = array('username' => 'User', 'password' => 'Pass');

curl_setopt($ch, CURLOPT_POST, 2);
curl_setopt($ch, CURLOPT_POSTFIELDS, $data);

SESSIONまた、サイトが提供するデータの保存についても検討する必要があります。

CURLOPT_COOKIE CURLOPT_COOKIEFILE CURLOPT_COOKIEJARオプション付き

于 2013-08-19T16:30:06.150 に答える