无法连接到MozRepl / RemoteObject.pm
尝试设置WWW :: Mechanize :: Firefox并使用Perl访问Firefox。
我已经安装了该模块及其依赖项。 我不知道我是否已经正确理解了这个模块,但是我正在使用unix(共享)服务器来运行它,以访问和驱动在客户端上运行的Firefox。
我收到一个错误:
Failed to connect to , at MozRepl/RemoteObject.pm at line...
我已阅读了关于在RemoteObject.pm中设置远程访问的各种帖子,并尝试了所有方法。 仍然得到错误。 现在我有一个小测试程序(http://kamasiri.com/kohkood/cgi-bin/testMechanize.cgi),基本如下:
#!/usr/bin/perl
use CGI;
use CGI::Carp qw(warningsToBrowser fatalsToBrowser);
use WWW::Mechanize::Firefox;
print "Content-type: text/htmlnn";
my $mech = WWW::Mechanize::Firefox->new();
$mech->get('http://kamasiri.com');
$mech->eval_in_page('alert("Hello Firefox")');
print "<html><body><p>yeehah!</p></body></html>";
exit;
在RemoteObject.pm中,我已经在顶部附近进行了编辑,如下所示:
# use $ENV{MOZREPL} or localhost:4242
my $remote_machine = $ENV{REMOTE_ADDR};
$ENV{REMOTE_ADDR} = "$remote_machine:4242";
my $repl = MozRepl::RemoteObject->install_bridge(
repl => "$ENV{REMOTE_ADDR}"
);
我在这里做错了什么?
我也尝试将PC客户端的IP地址硬编码到代码中。 还是一样的错误。
Firefox正在运行,MozRepl加载项被加载并运行(这是我读过的这个错误的常见来源)。
我想知道这是否是防火墙问题,所以我尝试了各种机器,包括手机。 还是一样。 它没有打印出错误信息中的IP地址和端口这一事实表明,它并没有将这些作为选项正确地输入到程序中。
我还想知道是否因为我在共享服务器上而出现telnet特权问题?
任何想法我可以尝试下一步?
从你的代码中,你最初的问题似乎是你没有使用你想要使用的服务器来初始化你的WWW::Mechanize::Firefox
。 您已经创建了另一个名为RemoteObject.pm
文件,但似乎并不像您正在使用它。
要初始化对象,你应该在你的主要perl文件中做这样的事情:
my $remote_machine = $ENV{REMOTE_ADDR};
my $mech = WWW::Mechanize::Firefox->new( repl => "$remote_machine:4242" );
请注意,这将尝试连接到您用来浏览的机器。 你说你用手机试过了。 你的手机上运行着MozRepl插件的Firefox吗?
在RemoteObjects.pm中,不需要将该值设置回REMOTE_ADDR
环境变量。
仍然可能存在防火墙和套接字权限的问题,但现在您至少可以尝试连接到正确的机器。
链接地址: http://www.djcxy.com/p/57525.html