简单的 perl 脚本不适用于 itorrents API(12 行)

Simple perl script doesn't work with itorrents API (12 LINES)

昨天我尝试用 perl 和 itorrents api 编写示例脚本,我正在使用 perl IDE Padre。基本上,此脚本将数据发送到服务器 (torrents) 这是 api 的 link:itorrents。org/automation 我复制并粘贴了网站给我的代码,但它不是在职的! 我用 windows cmd:

安装了这个 perl 模块
cpan App:cpanminus
cpanm MIME::Base64
cpanm MIME::Parser
cpanm MIME::Tools
cpanm Test::XML
cpanm SOAP::Lite
cpanm SOAP::WSDL

这是我的脚本 (caching.pl):

#!/usr/bin/perl
    
use MIME::Base64 ();
use SOAP::Lite ();
    
open( FILE, 'my.torrent' ) or die "$!";
while( read( FILE, $buf, 60*57 ) ) { $tor .= MIME::Base64::encode( $buf ); }
close( FILE );
    
$infoHash = SOAP::Lite->service( 'http://itorrents.org/api/torrage.wsdl' )->cacheTorrent( $tor );
    
print $infoHash;

提前致谢,我的语言不是很流利,抱歉。 编辑:对不起,我忘了 post 错误行:

Service description 'http://itorrents.org/api/torrage.wsdl' can't be loaded: 500 Can't connect to itorrents.org:443

解决了! 我解决了它从 http://itorrents.org/api/torrage.wsdl 下载 torrage.wsdl 文件并替换了这一行:

$infoHash = SOAP::Lite->service( 'http://itorrents.org/api/torrage.wsdl' )->cacheTorrent( $tor );

用这一行(用下载的文件torrage.wsdl路径替换网站URL):

$infoHash = SOAP::Lite->service( 'file:///C:/Users/sussq/Desktop/perl2exe/torrage.wsdl' )->cacheTorrent( $tor );

有关更多信息和解释,请参阅此 post: