无法连接到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

上一篇: Failed to connect to , at MozRepl/RemoteObject.pm

下一篇: Running headless firefox with selenium in Linux