簡體   English   中英

無法連接到MozRepl / RemoteObject.pm的,

[英]Failed to connect to , at MozRepl/RemoteObject.pm

嘗試設置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環境變量。

防火牆和套接字特權仍然存在問題,但是現在您至少可以嘗試連接到正確的計算機。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM