Я пытаюсь отправить запрос с аутентификацией.
Это работает для запроса get:
import win32com.client
h = win32com.client.Dispatch('WinHTTP.WinHTTPRequest.5.1')
h.SetAutoLogonPolicy(0)
h.Open('GET', url, False)
h.Send()
Но я пытаюсь сделать запрос на публикацию, в частности,данные формы, с файлом
data = {'datasetid': 9,
'date':"2018-04-16",
'file':open(r'C:\filename.pdf', 'rb').read()}
h = win32com.client.Dispatch('WinHTTP.WinHTTPRequest.5.1')
h.SetAutoLogonPolicy(0)
h.Open('POST', url, False)
h.SetRequestHeader('Content-Type', 'multipart/form-data')
h.Send(json.dumps(data))
Это не работает, потому что 'байты' не сериализуемы в JSON.Изменение 'rb' на 'r' не работает, потому что кодек 'charmap' не может декодировать байт 0x9d в позиции 143.
Как отправить файл поверх?(И отправьте также пункт Аутентификация, мы используем Аутентификацию NT).
Я попытался использовать запросы по запросу и это работает.Но я хотел бы найти метод, который не требует ввода аутентификации.с использованием request_ntlm мне нужно ввести что-то вроде session.auth = HttpNtlmAuth ('username', 'password').
Я ищу решение, подобное win32com SetAutoLogonPolicy (0), чтобы не было необходимостиввести имя пользователя и пароль.