尝试设置WWW::Mechanize::Firefox并使用Perl访问Firefox。
我已经安装了模块及其依赖项。我不确定我是否正确理解了这个模块,但我正在unix (共享)服务器上运行它,以访问和驱动运行在pc客户端上的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/html\n\n";
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地址硬编码到代码中。仍然是同样的错误。
火狐正在运行,MozRepl插件已经加载并运行(据我所知,这是导致这个错误的正常原因)。
我想知道这是不是防火墙的问题,所以我尝试了各种机器,包括手机。还是老样子。事实上,它没有打印出错误消息中的ip地址和端口,这表明它没有将这些作为选项正确地放入程序中。
我还想知道这是否是telnet权限问题,因为我在共享服务器上?
你知道我下一步该怎么做吗?
发布于 2016-01-03 16:24:02
从您的代码看,您最初的问题似乎是您没有使用您想要使用的服务器来初始化WWW::Mechanize::Firefox。您已经创建了另一个名为RemoteObject.pm的文件,但您似乎没有使用它。
要初始化对象,您应该在主perl文件中执行如下操作:
my $remote_machine = $ENV{REMOTE_ADDR};
my $mech = WWW::Mechanize::Firefox->new( repl => "$remote_machine:4242" );请注意,这将尝试连接到您用来浏览的计算机。你说你试过用你的手机。你的手机上有没有带MozRepl插件的火狐浏览器?
在RemoteObjects.pm中,不需要将值重新设置为REMOTE_ADDR环境变量。
防火墙和套接字权限仍然存在问题,但现在您至少可以尝试连接到正确的计算机。
https://stackoverflow.com/questions/34573849
复制相似问题