나는이 끊어진 링크를 확인하는 방법예외 처리
def self.check_prod_links
require 'net/http'
results = []
Product.find_each(:conditions =>{:published => 1}) do |product|
url = product.url
id = product.id
uri = URI(url)
begin
response = Net::HTTP.get_response(uri)
rescue
http = Net::HTTP.new(uri.host, uri.port)
http.use_ssl = true
http.verify_mode = OpenSSL::SSL::VERIFY_NONE
request = Net::HTTP::Get.new(uri.request_uri)
response = http.request(request)
rescue
response = Net::HTTP.get_response("http://" + uri)
rescue => e
p "Problem getting url: #{url} Error Message: #{e.message}"
end
p "Checking URL = #{url}. ID = #{id}. Response Code = #{response.code}"
unless response.code.to_i == 200
product.update_attribute(:published, 0)
results << product
end
end
return results
end
나의 이해했다 그 구조 => 전자는 이전의 구조 문에 의해 체포되지 않은 모든 예외를 기록해야하며, 방법은 계속해야 실행 안녕하세요
SSL_connect 반환 = 1 개의 errno = 0 상태 = SSLv2의/v3을 읽을 서버 A : : 그러나 특정 URL의이 선택하는 몇 가지 이유를 들어, 스크립트는 다음과 같은 예외로 종료 알 수없는 프로토콜을
예외가 잡히면 인쇄되고 작업이 계속 실행되도록 어떻게 설정할 수 있습니까?
또한 메일러보기에서 렌더링되도록 결과 배열을 호출 할 수 있습니다. 이렇게하면 기존 메일러에 게시 취소 된 모든 제품을 추가 할 수있는 더 좋은 방법이 있습니까?
감사합니다.
을 생산하고 나는 그것이 엉망 @beerlington에 동의, 당신은 그런 식으로하지 말아야 –