0
#!/usr/bin/perl -w

use WWW::Facebook::API;
use WWW::Facebook::API::Auth;
use WWW::Facebook::API::Canvas;
use HTTP::Request;
use LWP;

use CGI;                                # load CGI routines
$q = CGI->new;                          # create new CGI object
print $q->header,                       # create the HTTP header
  $q->start_html('Facebook App'),       # start the HTML
  $q->h1('Facebook Authentication'),    # level 1 header
  $q->end_html;                         # end the HTML

my $facebook_api      = '---------------';
my $facebook_secret   = '----------------------------';
my $facebook_clientid = '-----------------------------------';

my $client = WWW::Facebook::API->new(
    desktop     => 0,
    api_version => '1.0',
    api_key     => $facebook_api,
    secret      => $facebook_secret,

);

$client->app_id($facebook_clientid);
print $q->redirect( $client->get_login_url() );

と表示された Web ブラウザで

Facebook Authentication
Status: 302 Found Location: http://www.facebook.com/login.php? api_key= -  ----------------&v=1.0 

この CGI 問題を修正する方法。このperlスクリプトをubuntu Apacheサーバーで実行しています。

4

1 に答える 1

4

ここに HTTP ヘッダーを出力します。

print $q->header

次に、別の HTTP ヘッダーをここに出力します。

print $q->redirect($client->get_login_url());

HTTP メッセージには、ヘッダーのセットを 1 つだけ含めることができます。302 リダイレクトを送信している場合は、HTML を印刷する必要もないので、次のすべてを削除します。

print $q->header,                         # create the HTTP header
$q->start_html('Facebook App'),       # start the HTML
$q->h1('Facebook Authentication'),    # level 1 header
$q->end_html;                         # end the HTML
于 2013-09-02T05:10:43.713 に答える