无法建立连接,因为目标计算机主动拒绝它。 - 连接(2)

时间:2013-04-17 13:27:54

标签: ruby watir watir-webdriver

require 'watir-webdriver'    
begin
  url='http://localhost/test/test.php'
  ie =Watir::Browser.new:chrome
  ie.goto url
rescue Timeout::Error
  puts "time out"
  ie.close
  retry
end

这是我的php文件:http: //localhost/test/test.php

<?php 
set_time_limit(90);
sleep(60);
echo "hello"
?>

输出 - &gt;超时,并在错误之后:

  

Errno :: ECONNREFUSED(无法建立连接,因为目标计算机主动拒绝它。 - connect(2))。

基本上它应该在超时之后关闭ie,然后再次打开ie等等

2 个答案:

答案 0 :(得分:2)

当您尝试连接到任何框时,可以通过多种方式处理连接。如果您有阻止连接的防火墙,它可以是DROP(如在drop target for netfilter中)或REJECT传入连接。

区别:

  • DROP表示传入的数据包被丢弃(如在地板上)。目标没有回复。源不会获得有关数据包发生的任何信息。它只能做出假设,但不能确定数据包没有被途中的网络组件吞没。
  • REJECT表示对于传入的数据包(如打开连接的SYN请求),将生成一个回复,指出在目标服​​务器的端口上没有应用程序正在侦听。这意味着数据包已到达目的地并已成功处理(解释),但没有应用程序可以控制包。

您拒绝连接,意味着目标已回复,但表示无法建立连接或不建立连接(主动拒绝)。仅当目标计算机未应答并丢弃数据包时,才会发生预期的超时。

您可以看到here如何建立和建立或拒绝连接。

答案 1 :(得分:2)

这对等待者来说可能不是问题。从这个答案(https://stackoverflow.com/a/2972662/131051

  

如果发生始终,则字面意思是机器   存在,但它没有监听指定的服务   端口,或者有防火墙阻止你。