[PHP]curlを使わずにtwitterに投稿する

twitter APIにアクセスするためのPHP製ライブラリとしては、codebirdtwitteroauthなどありますが、大抵はcurl系の関数を使っています。

ただ、curl系の関数は必ず使えるわけではなく、コンパイルオプションを指定したり、PHP 5.5以降ではPECLからインストールしたりする必要があります。

一方、PHPには、組み込みでリクエストの送信を行える関数が存在します。file_get_contents()です(fopen()でもおそらく可)。php.iniで「allow_url_fopen = On」と設定されていれば、file_get_contents()の第三引数にコンテキストリソースを渡すことで、HTTPリクエストを行うことができます。

なお、OAuthに関しては、処理が複雑なので、今回はライブラリ(oauth-php)を利用します。


参考:OAuth.phpだけで twitter APIする
上記参考URLのスクリプトを参考に、(1) twitter APIのURLを最新版に修正 (2) リクエストのヘッダーにContent-Typeを追加 を行いました。

コメントを残す