4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
|
# File 'lib/iscraper.rb', line 4
def self.get_warranty_status imei
begin
uri = URI.parse('https://selfsolve.apple.com/wcResults.do')
http = Net::HTTP.new(uri.host, uri.port)
http.use_ssl = true
request = Net::HTTP::Post.new(uri.request_uri)
request.set_form_data({
'sn' => imei,
'Continue' => 'continue',
'num' => '0'
})
response = http.request(request)
response_data = response.body
rescue
return {error: "HTTP error while fetching warranty status for device #{imei}"}
end
begin
warranty_status = response_data.split('warrantyPage.warrantycheck.displayHWSupportInfo')[1].split('Repairs and Service Coverage: ')[1] =~ /^Active/ ? true : false
expiration_date = Date.parse response_data.split('Estimated Expiration Date: ')[1].split('<')[0] if warranty_status
return {
warranty_status: warranty_status,
expiration_date: expiration_date
}
rescue
{error: "Error occured while fetching warranty status for device #{imei}: Incorrect IMEI or unexpected reply from the Apple server"}
end
end
|