forked from mengskysama/115-Lixian-API
/
tempmail_ru.py
61 lines (53 loc) · 1.8 KB
/
tempmail_ru.py
1
2
3
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
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
#!/usr/bin/env python
# -*- coding: utf-8 -*-
import re
import urllib2, cookielib
from http_request import http_request
from hashlib import md5
import json
import random
import string
class tempmail_ru():
def __init__(self):
self.http = http_request()
self.has_cookie = False
self.addr = None
self.domain = None
def pool(self):
while True:
self.new2()
yield self.addr
def new2(self):
if self.addr:
self._dispose()
self._getnew()
def new(self):
if not self.domain:
resp, ret = self.http.get('http://api.temp-mail.ru/request/domains/format/json')
self.domain = json.loads(ret)
self.addr = '%s%s' % (''.join(random.sample(string.ascii_letters,6)), random.choice(self.domain))
def _getnew(self):
#none api
resp, ret = self.http.get('https://temp-mail.ru/', setcookie = not self.has_cookie, referer = 'https://temp-mail.ru/')
self.addr = re.findall('\w+@\w+\.\w+', ret)[0]
self.has_cookie = True
def _dispose(self):
#none api
resp, ret = self.http.get('https://temp-mail.ru/option/delete', referer = 'https://temp-mail.ru/')
def get_mail(self, addr = None):
resp, ret = self.http.get('http://api.temp-mail.ru/request/mail/id/%s/format/json/' % md5(addr or self.addr).hexdigest())
if resp['status'] == 404:
return []
ret = json.loads(ret)
if isinstance(ret, list):
return ret
else:
return []
if __name__ == '__main__':
# tmr = tempmail_ru()
# tmr.new()
# print tmr.addr
# for addr in tmr.pool():
# print addr
tmr = tempmail_ru()
print tmr.get_mail('moko@rainmail.biz')