【问题标题】:Oauth, Net::Twitter, or SSL: 500 handshakefailedOauth、Net::Twitter 或 SSL:500 次握手失败
【发布时间】:2014-05-14 03:13:28
【问题描述】:

我将使用 Net::Twitter 的有效 Perl 脚本从 10.04 Ubuntu 系统复制到 12.04 Ubuntu 系统。它不再工作了。

我现在在运行时收到以下错误: Net::Twitter::Role::OAuth::get_authorization_url(): GET https://api.twitter.com/oauth/request_token failed: 500 handshakefailed at ok.pl line 22

当我尝试卷曲 URL 时,我得到了这个: 卷曲https://api.twitter.com/oauth/request_token 验证 oauth 签名和令牌失败

这似乎表明我可以顺利通过防火墙和网络代理。这是其中一个脚本的示例。我所有的 Twitter 脚本现在都会出现这个 500 错误。不过,我已经花了几个小时寻找修复程序,但我仍然不知道这是模块的 SSL 问题,还是与 Twitter 的连接问题。

FWIW,我 12.04 盒子上的 Net::Twitter 是最新的。我的 10.04 盒子上的 Net:Twitter 不是最新的。

感谢任何帮助。谢谢!

#!/usr/bin/env perl
use warnings;
use strict;
use Net::Twitter;
my $tweet = 'Greetings';
my $twitterconsumer = 'redacted';
my $twitterconsumersecret = 'redacted';
my $youraccesstoken;
my $youraccesstokensecret;
my $twitteraccesstoken = $youraccesstoken;
my $twitteraccesstokensecret = $youraccesstokensecret;

my $nt = Net::Twitter->new(
    traits   => [qw/API::RESTv1_1/, 'OAuth'],
    consumer_key    => $twitterconsumer,
    consumer_secret => $twitterconsumersecret,
    ssl => 1
);
if ($twitteraccesstoken && $twitteraccesstokensecret) 
{
    $nt->access_token($twitteraccesstoken);
    $nt->access_token_secret($twitteraccesstokensecret);
}
unless ( $nt->authorized ) 
{
    print "Authorize this app at ", $nt->get_authorization_url, " and enter the PIN#\n";

    my $pin = <>; # wait for input
    chomp $pin;

    my($access_token, $access_token_secret, $user_id, $screen_name) = $nt->request_access_token(verifier => $pin);
    print 'Access token: '.$access_token."\r\n".'Access Token Secret: '.$access_token_secret."\r\n";

    exit();

}

$nt->update({ status => $tweet });

【问题讨论】:

    标签: perl twitter oauth


    【解决方案1】:

    FWIW,在运行 pcap 流量后,我发现新系统被过滤器阻止了。模块或我的脚本没有问题。

    【讨论】:

      猜你喜欢
      • 2018-07-28
      • 2012-10-11
      • 2015-03-16
      • 2021-12-28
      • 2018-10-17
      • 2016-04-29
      • 2014-03-05
      • 1970-01-01
      相关资源
      最近更新 更多