[英]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.