【发布时间】:2012-12-13 11:08:17
【问题描述】:
这是一个网址
http://192.168.1.2:1218/?name=verify_code_string_queue&opt=get&auth=verify_code_string_queue
它将返回一个字符串或类似 SQS_GET_END 的状态码
现在我需要在 url 返回字符串时中断循环,或者继续阻塞。
这是我的代码
require 'net/http'
require 'open-uri'
loop do
codeText = open("http://192.168.1.2:1218/?name=verify_code_string_queue&opt=get&auth=verify_code_string_queue") do |repo|
repo.read
end
if codeText != "SQS_GET_END"
break
end
end
但它不起作用,输出无法分配请求的地址 - connect(2) (Errno::EADDRNOTAVAIL)。 请告诉我如何解决,谢谢
【问题讨论】:
-
如果它不是您正在处理的主机,是否可以从您的主机访问 192.168.1.2?
-
您的问题到底是什么?您想知道为什么会收到 EADDRNOTAVAIL 错误,还是想“捕获”错误并继续循环?
-
阿南德,我当然可以到达192.168.1.2。
-
rdvdijk,我想知道我收到 EADDRNOTAVAIL 错误的原因。
-
检查这个问题及其答案:stackoverflow.com/questions/3886506/…