fix login with facebook
This commit is contained in:
parent
1bbb2458fc
commit
27226af7d8
1 changed files with 8 additions and 11 deletions
|
|
@ -23,7 +23,7 @@ import re
|
||||||
from weboob.browser.browsers import DomainBrowser
|
from weboob.browser.browsers import DomainBrowser
|
||||||
from weboob.browser.profiles import IPhone
|
from weboob.browser.profiles import IPhone
|
||||||
from weboob.browser.pages import HTMLPage
|
from weboob.browser.pages import HTMLPage
|
||||||
from weboob.exceptions import BrowserIncorrectPassword
|
from weboob.exceptions import BrowserIncorrectPassword, ParseError
|
||||||
from weboob.tools.json import json
|
from weboob.tools.json import json
|
||||||
|
|
||||||
|
|
||||||
|
|
@ -34,6 +34,7 @@ class FacebookBrowser(DomainBrowser):
|
||||||
BASEURL = 'https://graph.facebook.com'
|
BASEURL = 'https://graph.facebook.com'
|
||||||
|
|
||||||
CLIENT_ID = "247294518656661"
|
CLIENT_ID = "247294518656661"
|
||||||
|
PROFILE = IPhone('Happn/3.0.2')
|
||||||
access_token = None
|
access_token = None
|
||||||
info = None
|
info = None
|
||||||
|
|
||||||
|
|
@ -50,19 +51,15 @@ class FacebookBrowser(DomainBrowser):
|
||||||
|
|
||||||
self.location(self.response.headers['Location'])
|
self.location(self.response.headers['Location'])
|
||||||
|
|
||||||
params = {}
|
page = HTMLPage(self, self.response)
|
||||||
for inp in re.findall(r'input [^>]*type=\\"hidden\\" [^>]*>', self.response.text, re.MULTILINE):
|
form = page.get_form(nr=0, submit='//input[@value="OK"]')
|
||||||
m = re.search(r'name=\\"([^"]+)\\"', inp)
|
form.submit()
|
||||||
m2 = re.search(r'value=\\"([^"]+)\\"', inp)
|
|
||||||
params[m.group(1)] = m2.group(1).replace('\\', '') if m2 else ''
|
|
||||||
params['__CONFIRM__'] = 1
|
|
||||||
m = re.search(r'rel=\\"async\\" ajaxify=\\"([^"]+)\\"', self.response.text, re.MULTILINE)
|
|
||||||
if m:
|
|
||||||
uri = m.group(1).replace('\\', '')
|
|
||||||
self.location(uri, data=params)
|
|
||||||
m = re.search('access_token=([^&]+)&', self.response.text)
|
m = re.search('access_token=([^&]+)&', self.response.text)
|
||||||
if m:
|
if m:
|
||||||
self.access_token = m.group(1)
|
self.access_token = m.group(1)
|
||||||
|
else:
|
||||||
|
raise ParseError('Unable to find access_token')
|
||||||
|
|
||||||
self.info = self.request('/me')
|
self.info = self.request('/me')
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue