Avertissement lors d'une requête à cause de la vérification du certificat dans connector.py
Tout d'abord merci pour ce super package que je découvre.
Juste pour le signaler, je viens de tester le bout de code simple qui renvoie un warning pour le package urllib3
:
from esc_py_conn.connector import EscriptoriumConnector
def main(url, username, password):
escr = EscriptoriumConnector(base_url=url, api_url="https://escriptorium.inria.fr/api/", username=username, password=password, project="ff21-atelier-htr-011221")
docs = escr.get_documents()
print(docs)
if __name__ == '__main__':
escriptorium_url = "https://escriptorium.inria.fr/"
username = "********"
password = "********"
main(escriptorium_url, username, password)
avec la sortie qui comprend un avertissement pour la requête et le json avec la liste des documents :
/home/lterriel/Documents/dev/almanach-projects/ner@tei_workbench/venv/lib/python3.8/site-packages/urllib3/connectionpool.py:981: InsecureRequestWarning: Unverified HTTPS request is being made to host 'escriptorium.inria.fr'. Adding certificate verification is strongly advised. See: https://urllib3.readthedocs.io/en/latest/advanced-usage.html#ssl-warnings
warnings.warn(
/home/lterriel/Documents/dev/almanach-projects/ner@tei_workbench/venv/lib/python3.8/site-packages/urllib3/connectionpool.py:981: InsecureRequestWarning: Unverified HTTPS request is being made to host 'escriptorium.inria.fr'. Adding certificate verification is strongly advised. See: https://urllib3.readthedocs.io/en/latest/advanced-usage.html#ssl-warnings
warnings.warn(
[{'pk': 1249, 'name': 'test_eScriptorium', 'project': 'ff21-atelier-htr-011221', 'transcriptions': [{'pk': 2771, 'name': 'kraken:mixte_mrs_15'}, {'pk': 2767, 'name': 'manual'}], 'main_script': 'Latin', 'read_direction': 'ltr', 'line_offset': 0, 'valid_block_types': [{'pk': 2626, 'name': 'Col_1'}, {'pk': 2627, 'name': 'Col_2'}, {'pk': 2628, 'name': 'Col_3'}, {'pk': 2629, 'name': 'Col_4'}, {'pk': 2630, 'name': 'Col_5'}, {'pk': 2631, 'name': 'Col_6'}, {'pk': 2632, 'name': 'Col_7'}, {'pk': 2633, 'name': 'Stamp'}, {'pk': 2634, 'name': 'header'}, {'pk': 2635, 'name': 'marginal'}], 'valid_line_types': [{'pk': 935, 'name': 'First_line'}, {'pk': 936, 'name': 'Main_date'}, {'pk': 937, 'name': 'printed'}], 'parts_count': 1, 'tags': [], 'created_at': '2021-12-01T13:37:26.566457Z', 'updated_at': '2022-03-29T13:04:01.502188Z'}, {'pk': 1430, 'name': 'calligrammes', 'project': 'lterriels-project', 'transcriptions': [{'pk': 3175, 'name': 'kraken:ocr_french_early_20th_century (1)'}, {'pk': 3174, 'name': 'manual'}], 'main_script': 'Latin', 'read_direction': 'ltr', 'line_offset': 0, 'valid_block_types': [], 'valid_line_types': [], 'parts_count': 198, 'tags': [], 'created_at': '2022-02-04T16:15:45.797554Z', 'updated_at': '2022-02-04T16:15:45.797571Z'}, {'pk': 1248, 'name': 'TEST1', 'project': 'ff21-atelier-htr-011221', 'transcriptions': [{'pk': 2764, 'name': 'manual'}], 'main_script': 'Latin', 'read_direction': 'ltr', 'line_offset': 0, 'valid_block_types': [{'pk': 3, 'name': 'Commentary'}, {'pk': 4, 'name': 'Illustration'}, {'pk': 2, 'name': 'Main'}, {'pk': 1, 'name': 'Title'}], 'valid_line_types': [], 'parts_count': 1, 'tags': [], 'created_at': '2021-12-01T13:31:59.519434Z', 'updated_at': '2021-12-01T13:31:59.519453Z'}, {'pk': 1247, 'name': 'bac-à-sable', 'project': 'ff21-atelier-htr-011221', 'transcriptions': [{'pk': 2766, 'name': 'Zip Import'}, {'pk': 2765, 'name': 'Default PAGE Import'}, {'pk': 2763, 'name': 'manual'}], 'main_script': 'Latin', 'read_direction': 'ltr', 'line_offset': 0, 'valid_block_types': [{'pk': 3, 'name': 'Commentary'}, {'pk': 4, 'name': 'Illustration'}, {'pk': 2, 'name': 'Main'}, {'pk': 1, 'name': 'Title'}, {'pk': 1588, 'name': 'col_1'}], 'valid_line_types': [], 'parts_count': 3, 'tags': [], 'created_at': '2021-12-01T13:31:50.768763Z', 'updated_at': '2021-12-01T13:31:50.768782Z'}, {'pk': 1245, 'name': 'Modèle mixte - exemples', 'project': 'ff21-atelier-htr-011221', 'transcriptions': [{'pk': 2760, 'name': 'Zip Import'}, {'pk': 2759, 'name': 'manual'}], 'main_script': None, 'read_direction': 'ltr', 'line_offset': 0, 'valid_block_types': [], 'valid_line_types': [], 'parts_count': 4, 'tags': [75], 'created_at': '2021-11-30T18:12:28.763615Z', 'updated_at': '2021-12-01T10:46:54.300810Z'}, {'pk': 1237, 'name': 'Test set - Rigault6', 'project': 'ff21-atelier-htr-011221', 'transcriptions': [{'pk': 2746, 'name': 'kraken:run6_rigault6_fs_best'}, {'pk': 2745, 'name': 'kraken:run4_rigault6_ftmrs15_best'}, {'pk': 2742, 'name': 'kraken:mixte_mrs_15'}, {'pk': 2740, 'name': 'Zip Import'}, {'pk': 2738, 'name': 'manual'}], 'main_script': None, 'read_direction': 'ltr', 'line_offset': 0, 'valid_block_types': [], 'valid_line_types': [], 'parts_count': 3, 'tags': [75, 77], 'created_at': '2021-11-29T13:01:45.379532Z', 'updated_at': '2021-11-30T13:56:17.102627Z'}, {'pk': 1230, 'name': 'Ground truth - Rigault6', 'project': 'ff21-atelier-htr-011221', 'transcriptions': [{'pk': 2731, 'name': 'Zip Import'}, {'pk': 2720, 'name': 'manual'}], 'main_script': None, 'read_direction': 'ltr', 'line_offset': 0, 'valid_block_types': [], 'valid_line_types': [], 'parts_count': 36, 'tags': [75, 82], 'created_at': '2021-11-26T14:53:08.454310Z', 'updated_at': '2021-11-30T13:55:58.151964Z'}, {'pk': 1236, 'name': 'Transcription - Rigault6', 'project': 'ff21-atelier-htr-011221', 'transcriptions': [{'pk': 2735, 'name': 'manual'}], 'main_script': None, 'read_direction': 'ltr', 'line_offset': 0, 'valid_block_types': [], 'valid_line_types': [], 'parts_count': 34, 'tags': [74], 'created_at': '2021-11-29T12:55:15.623891Z', 'updated_at': '2021-11-30T10:13:03.103769Z'}, {'pk': 1216, 'name': 'Rigault6 - Modèle ft test', 'project': 'hscheithauers-project', 'transcriptions': [{'pk': 2682, 'name': 'kraken:run6_rigault6_fs_best'}, {'pk': 2681, 'name': 'Zip Import'}, {'pk': 2680, 'name': 'kraken:run4_rigault6_ftmrs15_best'}, {'pk': 2679, 'name': 'kraken:mixte_mrs_15'}, {'pk': 2678, 'name': 'manual'}], 'main_script': None, 'read_direction': 'ltr', 'line_offset': 0, 'valid_block_types': [], 'valid_line_types': [], 'parts_count': 3, 'tags': [], 'created_at': '2021-11-22T14:55:20.987689Z', 'updated_at': '2021-11-30T09:56:07.140296Z'}]
Je me demande si la raison provient de mon url (mal renseigné) ou de la ligne 46 de connector.py
(en cause l'argument verify=False
) lié au certifcat.
Après quelques recherches (https://stackoverflow.com/questions/68445066/how-to-fix-insecurerequestwarning-unverified-https-request-is-being-made-to-hos et https://stackoverflow.com/questions/48767143/how-to-suppress-warnings-about-lack-of-cert-verification-in-a-requests-https-cal) ; le problème viens de la vérification du certificat (passage de True et None ne change rien dans le paramètre verify
)
Si l'erreur se reproduit, Une solution provisoire consiste simplement à bloquer le warning en ajoutant les lignes lors des imports dans connector.py
:
import urllib3
urllib3.disable_warnings(urllib3.exceptions.InsecureRequestWarning)
merci