Я только начал работать с urllib в python 3.3.3, и я могу использовать urllib.request.urlopen()
для создания запросов POST. Однако то, что я хотел бы сделать, это POST с HTTPS. Я видел, что в документации urlopen
говорится: «В настоящее время HTTP-запросы являются единственными, которые используют данные» (и мне нужен параметр «data» для запроса POST).Python3 urllib POST с HTTPS
Тогда я увидел, что urllib.request.HTTPSHandler
, похоже, может сделать HTTPS POST через его https_open()
. К сожалению, кажется, я не могу понять, как использовать эту функцию. Сейчас я просто хочу сделать простой HTTPS GET с этим обработчиком, так что я пытался сделать, это
import urllib.request
r = urllib.request.Request("https://www.google.com")
handler = urllib.request.HTTPSHandler()
handler.https_open(r)
, но это приводит к AttributeError: 'Request' object has no attribute 'timeout'
Как я могу получить HTTPSHandler.https_open()
работать? Или urlopen
вызвать функцию https_open
, если я использовал
opener = urllib.request.build_opener(urllib.request.HTTPSHandler)
urllib.request.install_opener(opener)
до и фактически делает запрос HTTPS POST уже? Благодаря!
Привет, как я уже говорил в посте мне нужен параметр «данные», потому что я должен сделать запрос POST. Без данных я могу только делать запросы GET. – user1448268