1

OAuth で接続することにより、Twitter アカウントでサインインできる機能を備えた小さな Web アプリを作成しました。数か月間はうまく機能しましたが、今では機能しなくなりました。これは、「Twitter でサインイン」アルゴリズムの概要を簡単にまとめたものです。

  • いくつかのパラメーター (タイムスタンプ、ナンス、ある種のアプリケーション ID など) の収集
  • このパラメーターを使用して、次のような新しい URL を作成します
  • その URL に接続してデータを取得すると、アクセス トークンが含まれています
  • そのアクセス トークンを使用して楽しいことを続けます。

手順 2 で生成された URL は、手動で Google Chrome にコピーしようとしたため問題なく、美しいアクセス トークンが表示されるため、問題はありません (と思います)。ステップ 3 には、非常に基本的なことを行う非常に小さなメソッドがあります。前に生成された URL に接続し、コンテンツを取得して返します。

私のローカルホストで EasyPHP 12.1 を使用すると、いつものように完全に動作しますが、使用している無料のホスト (000webhost) では動作しなくなりました。接続しようとすると、タイムアウトするだけです。HTTPCodeError は 0 で、CurlError は「ホストに接続できませんでした」です。

これは、URL への接続に使用される方法です。

$ch = curl_init();

curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 30);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE);    

$http_status = curl_getinfo($ch, CURLINFO_HTTP_CODE);
$response = curl_exec($ch);

curl_close($ch);
return $response;

そして、これはそのメソッドで使用される URL の例です: https://api.twitter.com/oauth/request_token?oauth_consumer_key=DLZZTIxpY19FnWJNtqw5A&oauth_nonce=1369452195&oauth_signature=DIetumiKqJu66XXVvDDHdepnP9M%3D&oauth_signature_method=HMAC-SHA1&oauth_timestamp=19=9auth_4.05.13

私は一日中それを修正しようとしてきましたが、今は何を試すべきかさえわかりません. ファイルは、ローカルホストと 000webhost でまったく同じです。あなたが私を啓発することができれば、私はとても幸せです. 必要に応じてズボンを脱いで回答します。どうもありがとうございました。

4

2 に答える 2

0

私が考えることができる唯一のことは、あなたの無料のウェブホスティングサービスがそれをブロックしていることです. すべてが非常にシンプルである限り、これらのサービスは完璧です。物事が複雑になった瞬間、プロバイダーによって実装された制限に遭遇します。これらのサービスのほとんどは、帯域幅、ディスク容量、サーバーの使用、サポート、アップロードなどを制限しています。

于 2013-06-01T11:23:02.770 に答える