0

ログインAPI( https://github.com/reddit/reddit/wiki/API%3A-login)を使用してRedditにログインしようとしています。を使用してCookieを正常に認証および保存できます

$ch = curl_init(); 
curl_setopt($ch, CURLOPT_URL, 'http://www.reddit.com/api/login/USERNAME');
curl_setopt ($ch, CURLOPT_REFERER, "http://www.reddit.com");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); 
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 0); 
curl_setopt($ch, CURLOPT_POST, 1); 
$postData = 'api_type=json&user=USERNAME&passwd=PASSWORD'; 
curl_setopt($ch, CURLOPT_POSTFIELDS, $postData);
curl_setopt ($ch, CURLOPT_COOKIEJAR, 'cookie.txt'); 
curl_exec($ch);

しかし、私が追加すると

curl_setopt($ch, CURLOPT_URL, 'http://www.reddit.com/r/pics');
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
$data = curl_exec($ch);
echo $data;

認証コードの最後まで、ログインに成功し、ページが実際に/ r / pics subredditにいることを示しているように見えても、Redditから「ページが見つかりません」ページを受け取ります。ある種のリダイレクトが発生しているのか、またはオプションが欠落しているか正しくないのかどうか疑問に思っています。

4

1 に答える 1

1

2番目のURLをロードするときは、引き続きPOST操作を実行します。CURLは、指示がない限り、「戻る」ことをGETに切り替えません。追加してみてください

curl_setopt($ch, CURLOPT_HTTPGET, TRUE);
于 2012-07-20T14:30:55.377 に答える