0

このコードは機能していません:

$ch = curl_init ("https://api.twitter.com/1/statuses/user_timeline/ijustine.json?callback=twitterCallback2&count=4");

curl_setopt ($ch, CURLOPT_RETURNTRANSFER, true);

$output = curl_exec ($ch);

var_dump($output);

アクセスしようとすると: https://api.twitter.com/1/statuses/user_timeline/ijustine.json?callback=twitterCallback2&count=4

ブラウザーからこのアドレスを手動で入力すると機能し、json がブラウザーに表示されます。

しかし、私のスクリプトでは機能していません。

私は WAMP を使用しており、PHP (5.3.13) で curl 拡張機能がアクティブになっていvar_dump( curl_version() );ます。

ところで。これは機能しています: $ch = curl_init (" http://yahoo.com ");

curl_setopt ($ch, CURLOPT_RETURNTRANSFER, true);

$output = curl_exec ($ch);

var_dump($output);

しかし、アクセスしようとするhttp://twitter.comと、string '' (length=0). そして、試してみるhttps://twitter.comと、boolean falseなぜ?

ローカルホストなどで、追加の php 拡張機能やいくつかの apache モジュールを有効にする必要がありますか?

4

2 に答える 2

3

これはおそらく HTTPS 証明書の問題です。この過去の質問を確認してください: cURL を使用して HTTPS サイトに接続できません。代わりに長さ 0 のコンテンツを返します。私に何ができる?

于 2013-05-18T15:03:44.567 に答える
0

非推奨の twitter api バージョン 1.0 を使用しているため、間もなくコードが機能しなくなることに注意することが非常に重要です。

この投稿では、短いバージョンで何が起こっているかを説明します。

これを読んだら、1.1 API に必要なトークンを取得する方法を正確に説明しているこの投稿に進むことができます。

繰り返しますが、あなたのコードはまもなくTwitter の 1.0 API で動作しなくなります。問題は、cURL 経由で HTTPS 経由で接続することではなくなります。すべてのリクエストで「認証されていません」というエラーが表示されます。

したがって、上記の情報を使用して、認証済みリクエストの使用を開始してください。

于 2013-05-28T10:21:34.440 に答える