def create_google_session(self):
"""Summary
Returns:
TYPE: Description
"""
session = requests.session ()
login_html = session.get ( DataManagement.__GOOGLE_ACCOUNT_URL )
#Check cookies returned because there is an issue with the authentication
#GAPS , GALX , NID - These cookies are used to identify the user when using Google + functionality.
#GAPS is still provided
self.logger.debug(session.cookies.get_dict ().keys ())
try:
galx = session.cookies['GALX']
except:
self.logger.error('No cookie GALX')
soup_login = BeautifulSoup ( login_html.content , 'html.parser' ).find ( 'form' ).find_all ( 'input' )
payload = {}
for u in soup_login:
if u.has_attr ( 'value' ):
payload[u['name']] = u['value']
payload['Email'] = self.__username
payload['Passwd'] = self.__password
auto = login_html.headers.get ( 'X-Auto-Login' )
follow_up = unquote ( unquote ( auto ) ).split ( 'continue=' )[-1]
#Commented as suggested in https://github.com/tracek/gee_asset_manager/issues/36
#galx = login_html.cookies['GALX']
payload['continue'] = follow_up
# Commented as suggested in https://github.com/tracek/gee_asset_manager/issues/36
#payload['GALX'] = galx
session.post ( DataManagement.__AUTHENTICATION_URL , data=payload )
return session
评论列表
文章目录