May-19-2022, 02:27 PM
Hello everyone sorry to disturb you. I wanna to ask a question about the authentification with an URL. How to judge whether a group of id and password is true or not? Cause when inputs are correct, the file is downloaded with the URL, but when the inputs are incorrect, it goes to a KEYERROR[KeyError: 'content-disposition'] and what I want to do is to change this part into an "if-else". Thx a lot in advance for your help and your time!
I think I should add something right here:
I think I should add something right here:
def get_filename(content_disposition_header): #Finds the filename in the 'Content-Disposition' header return re.findall('filename="(.+)"', content_disposition_header)[0]More details about my codes:
def loginIn(url, login, pwd, LOGIN_URL_SUFFIX, LOGIN_CHECK_URL_SUFFIX): login_url = url + LOGIN_URL_SUFFIX login_check_url = url + LOGIN_CHECK_URL_SUFFIX client = requests.session() login_res = client.get(login_url, verify=False) soup = BeautifulSoup(login_res.text, 'html.parser') csrf_token = soup.find('input', dict(name='_csrf_token'))['value'] login_data = dict(_username=login, _password=pwd, _csrf_token=csrf_token) login_check_res = client.post(login_check_url, data=login_data) return client def get_filename(content_disposition_header): #Finds the filename in the 'Content-Disposition' header return re.findall('filename="(.+)"', content_disposition_header)[0] def get_data(client, url): #Exports the requested data export_url = build_url(url) data_res = client.get(export_url, allow_redirects=True) filename = get_filename(data_res.headers['Content-Disposition']) #error with open(os.path.join(out, filename), 'wb') as f: f.write(data_res.content)Thx a lot again.