0
這個腳本是完美的costum twitter URL縮短,但由於某種原因,它只是開始把斷開的鏈接。 現在所有的鏈接都被打破,即使那些以前的鏈接都很好。 它顯示在twitter domain.com/p(somenumber),它在瀏覽器中打開該URL,而不是重定向到發佈。我猜這個問題出現在這個Perl代碼中,它是在twitter上自動檢查WordPress的帖子。Twitter的URL永久破解的WordPress的帖子
#!/usr/bin/perl -s
use strict;
use Data::Dumper;
use XML::Simple;
use Net::Twitter;
use Scalar::Util 'blessed';
use WWW::Facebook::API;
use JSON::Any;
use lib '/var/www/perl/.';
use MyLib::DB;
use MyLib::Settings;
my $settings = new Settings();
my $config = $settings->getConfig();
my $db = new DB(
dsn =>$config->{sql_connection}->{dsn},
database =>$config->{sql_connection}->{database},
server =>$config->{sql_connection}->{server},
login =>$config->{sql_connection}->{login},
password =>$config->{sql_connection}->{password}
);
my %posts = $db->getList('select * from add_ready_post where wp_id > (select max(wp_id) from add_ready_post where is_sent=1) and post_title <> "" limit 1;');
my $nt = Net::Twitter->new(legacy => 0);
my $nt = Net::Twitter->new(
traits => [qw/OAuth API::REST/],
consumer_key => '',
consumer_secret => '',
access_token => '',
access_token_secret => '',
);
map {
my $message = $posts{$_}[4];
my $id = $posts{$_}[0];
my $url = ' domain.com/p' . $posts{$_}[1];
if ($message ne '')
{
# print 'Original: ' . $message . "\n";
if (length($message) < 110)
{
$message = $message . ".";
}
if (length($message) > 110)
{
$message = substr($message, 0, 110);
$message =~ /.*(\s\w+)$/i;
my $newMessage = substr($message, 0, index($message, $1));
$message = $newMessage . '...';
}
# print 'Result : ' . $message . $url . "\n";
my $result = $nt->update($message . $url);
# print Dumper($result);
# print "\n";
my $sql = "UPDATE add_ready_post SET is_sent=1 WHERE id=" . int($id) . ";";
$db->execute($sql);
}
} keys %posts;