Skip to content
This repository has been archived by the owner on Mar 30, 2023. It is now read-only.

Fix RefreshTokenException('Could not find the Guest token in HTML') #1322

Open
wants to merge 2 commits into
base: master
Choose a base branch
from

Commits on Jan 2, 2022

  1. Fix RefreshTokenException('Could not find the Guest token in HTML')

    ABOUT THE PROBLEM
    
    This problem has recently begun to occur on some environments.
    This doesn't happen every time, so if you are lucky, you don't get the
    error.
    
    The cause is literally literally that twint could not find the Guest
    token in HTML.
    Actually, sometimes token isn't included in HTML recently.
    
        #!/usr/bin/env python3
        # This program is WTFPL.
        import requests
    
    res = requests.get('https://twitter.com')
    print(res.text.split('\n')[-1])
    twint require the result of running the above code is })();</script><script nonce="VALUE">document.cookie = decodeURIComponent("gt=VALUE; Max-Age=VALUE; Domain=.twitter.com; Path=/; Secure");</script>.
    However, sometimes the result is only })();</script> and missing the
    Guest token.
    
    ABOUT THE SOLUTION
    
    In this patch, twint get the Guest token from
    https://api.twitter.com/1.1/guest/activate.json if could not find the
    one.
    The author referred to the code of gallery-dl:
    https://github.com/mikf/gallery-dl/blob/47eae4c393f09937a5dbcc2cb978702fb173e747/gallery_dl/extractor/twitter.py#L780-L783
    
    Author's note:
    
    > I don't understand session of requests, so the code may be not good.
    > I hope someone rewrite the patch better and create a pull request.
    
    This commit was adopted from:
    twintproject#1320 (comment)
    
    Closes twintproject#1320.
    minamotorin authored and LinqLover committed Jan 2, 2022
    Configuration menu
    Copy the full SHA
    cc3498a View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    62a1b7c View commit details
    Browse the repository at this point in the history