gpt4 book ai didi

perl - 无法连接到 , 在 MozRepl/RemoteObject.pm

转载 作者:行者123 更新时间:2023-12-04 16:18:59 26 4
gpt4 key购买 nike

尝试设置 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 地址硬编码到代码中。还是一样的错误。

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环境变量。

防火墙和套接字权限仍然可能存在问题,但现在您至少可以尝试连接到正确的机器。

关于perl - 无法连接到 , 在 MozRepl/RemoteObject.pm,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34573849/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com