Skip to content

Commit ca2040f

Browse files
authored
Merge pull request #1759 from ranaroussi/hotfix/cookie-fallback-strategy
Fix '_set_cookie_strategy'
2 parents 1cfeddf + 1ab476b commit ca2040f

File tree

1 file changed

+6
-2
lines changed

1 file changed

+6
-2
lines changed

yfinance/data.py

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -99,7 +99,6 @@ def _set_cookie_strategy(self, strategy, have_lock=False):
9999
self._cookie_lock.acquire()
100100

101101
try:
102-
self._cookie_strategy = strategy
103102
if self._cookie_strategy == 'csrf':
104103
utils.get_yf_logger().debug(f'toggling cookie strategy {self._cookie_strategy} -> basic')
105104
self._session.cookies.clear()
@@ -203,6 +202,7 @@ def _get_crumb_basic(self, proxy=None, timeout=30):
203202
crumb_response = self._session.get(**get_args)
204203
self._crumb = crumb_response.text
205204
if self._crumb is None or '<html>' in self._crumb:
205+
utils.get_yf_logger().debug("Didn't receive crumb")
206206
return None
207207

208208
utils.get_yf_logger().debug(f"crumb = '{self._crumb}'")
@@ -215,7 +215,7 @@ def _get_cookie_and_crumb_basic(self, proxy, timeout):
215215
return cookie, crumb
216216

217217
def _get_cookie_csrf(self, proxy, timeout):
218-
if utils.reuse_cookie and self._cookie is not None:
218+
if self._cookie is not None:
219219
utils.get_yf_logger().debug('reusing cookie')
220220
return True
221221

@@ -239,6 +239,7 @@ def _get_cookie_csrf(self, proxy, timeout):
239239
soup = BeautifulSoup(response.content, 'html.parser')
240240
csrfTokenInput = soup.find('input', attrs={'name': 'csrfToken'})
241241
if csrfTokenInput is None:
242+
utils.get_yf_logger().debug('Failed to find "csrfToken" in response')
242243
return False
243244
csrfToken = csrfTokenInput['value']
244245
utils.get_yf_logger().debug(f'csrfToken = {csrfToken}')
@@ -299,6 +300,7 @@ def _get_crumb_csrf(self, proxy=None, timeout=30):
299300
self._crumb = r.text
300301

301302
if self._crumb is None or '<html>' in self._crumb or self._crumb == '':
303+
utils.get_yf_logger().debug("Didn't receive crumb")
302304
return None
303305

304306
utils.get_yf_logger().debug(f"crumb = '{self._crumb}'")
@@ -363,6 +365,7 @@ def get(self, url, user_agent_headers=None, params=None, proxy=None, timeout=30)
363365
'headers': user_agent_headers or self.user_agent_headers
364366
}
365367
response = self._session.get(**request_args)
368+
utils.get_yf_logger().debug(f'response code={response.status_code}')
366369
if response.status_code >= 400:
367370
# Retry with other cookie strategy
368371
if strategy == 'basic':
@@ -374,6 +377,7 @@ def get(self, url, user_agent_headers=None, params=None, proxy=None, timeout=30)
374377
if strategy == 'basic':
375378
request_args['cookies'] = {cookie.name: cookie.value}
376379
response = self._session.get(**request_args)
380+
utils.get_yf_logger().debug(f'response code={response.status_code}')
377381

378382
return response
379383

0 commit comments

Comments
 (0)