Я хочу преобразовать строку заголовка в словарь.Строка формируется из различных источников, поэтому формат немного сложен.
Это пример:
import ast
import re
header="{'Content-Type': 'text/html', 'Content-Security-Policy': "default-src 'self'; img-src 'self' https://www.google.com/ https://www.google-analytics.com/ https://stats.g.doubleclick.net/; form-action 'self' https://agilemail.createsend.com/ https://www.createsend.com/t/subscribeerror https://www.createsend.com/t/securedsubscribe; frame-src https://www.youtube-nocookie.com/; connect-src 'self'", 'X-Content-Type-Options': 'nosniff', 'X-Amz-Cf-Id': 'XZOj8R9YBVEMbHv93beUYFIizxUbrGKL_LVrS1gjMF-86I8mgtNFYw=='}"
headerDict = ast.literal_eval(header)
Когда я запускаю его, я получаю эту ошибку:
SyntaxError: invalid syntax
Я изменил две двойные кавычки внутри строки в:"default-src [...] https://a.1password.eu/"
от "
до ""
Но все равно есть ошибка.Как видно из контента с 'self'
, который содержит одинарные кавычки.
Я вообще не должен менять содержимое заголовка.Однако, если я применяю одно правило, например, заменяю каждый "
на ""
, это возможное решение.Как мне нужно разобрать шапку.Он должен сохранять свои исходные данные, и я не должен ничего менять на нем.
Какое решение в этом случае?Это один из примеров, но я ожидаю увидеть другие варианты.Как преобразовать словосочетание в словарь?