root/websites/idavailability/retriever.cgi

Revision 10458, 0.6 kB (checked in by drry, 7 months ago)
  • より堅牢に。
  • Property svn:executable set to *
Line 
1#!/usr/bin/env ruby
2require 'cgi'
3require 'uri'
4require 'net/http'
5Net::HTTP.version_1_2 # magic
6
7print "Content-type:text/html\n\n"
8cgi  = CGI.new
9url  = URI.parse(cgi['url'])
10cond = cgi['cond']
11
12response = Net::HTTP.start(url.host, url.port) do |http|
13  res = http.get(url.request_uri, 'User-Agent' => 'IDAvailabilityRetriever/1.0')
14  unless res.is_a?(Net::HTTPSuccess)
15    print 'null'
16    exit
17  end
18
19  if cond == ''
20    print 'found'
21    exit
22  end
23
24  cond = CGI.unescape(cond)
25
26  require 'rubygems'
27  require 'hpricot'
28  doc = Hpricot(res.body)
29  result = doc.search(cond)
30  print result.size == 1 ? 'null' : 'found'
31end
Note: See TracBrowser for help on using the browser.