Python запрашивает три способа отправки почтовых запросов
Python запрашивает три способа отправки почтовых запросов

В протоколе http данные, отправленные по почте, должны быть помещены в тело сообщения, но протокол не определяет, какой метод кодирования необходимо использовать, что приводит к различным методам отправки. В этой статье описаны три метода публикации: form, json и file.

Введение

существовать http в согласии,post Для отправки изданных данных требуется тело сообщения, но протокол не определяет, какой метод кодирования должен использоваться, что приводит к различным методам отправки. Сервер запрашивает тот же тип Content-Type поле, чтобы получить метод, в котором закодировано тело сообщения в запросе, а затем проанализировать тело сообщения.

Конкретные методы кодирования:

  • application/x-www-form-urlencoded # к form форма подачи данных формы, наиболее распространенная и наиболее знакомая из
  • application/json # к json Отправка строкиданные。
  • multipart/form-data # Загрузить файлы

Отправить форму

“Content-Type”: “application/x-www-form-urlencoded”

requests Отправить Форма-форма, обычно хранящаяся на веб-сайте для входа в систему и используемая для ввода имени пользователя и пароля. к http://httpbin.org/post Например,существовать requests в, с form Отправить в форме post просить,Просто создайте параметры запроса в словаре,а затем передать егоrequests.post() из data параметры.

Код выглядит следующим образом:

12345

import requestsurl = "http://httpbin.org/post"d = {"key1":"value1","key2":"value2"}r = requests.post(url, data=d) # requests.post() используется в data Печать свойства (r.text)

Эффект на выходе следующий:

12345678910111213141516171819202122

{"args": {},"data": "","files": {},"form": {"key1": "value1","key2": "value2"},"headers": {"Accept": "*/*","Accept-Encoding": "gzip, deflate","Content-Length": "23","Content-Type": "application/x-www-form-urlencoded","Host": "httpbin.org","User-Agent": "python-requests/2.22.0","X-Amzn-Trace-Id": "Root=1-60c06a74-78d1256647615a962d76bf9b"},"json": null,"origin": "219.133.170.253","url": "http://httpbin.org/post"}

httpbin.org Веб-сайт может отображать содержимое отправленного вами запроса и выводить «Content-Type»: «application/x-www-form-urlencoded», доказывая, что это Отправить сформулировать способ.

Отправить строку JSON

“Content-Type”: “application/json”

верно ВОтправить строку JSON,В основном используется в запросах Outajax.,Динамически загружаемые данные.

Способ написания первый

Закодируйте данные в json и затем отправьте их.

12345678910111213141516171819

import requestsurl = "http://lazytools.feidee.cn/v1/qrcode/log"data = { "category": 0, "content": "。。。。。hahha'a", "source": 1}headers = {"User-Agent": "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/53.0.2785.143 Safari/537.36 MicroMessenger/7.0.9.501 NetType/WIFI MiniProgramEnv/Windows WindowsWechat","Accept-Encoding": "gzip, deflate","Accept": "application/json, text/javascript, */*; q=0.01","Connection": "keep-alive","Content-Type": "application/json","Host": "lazytools.feidee.cn" }r = requests.post(url=url,data=json.dumps(data),headers=headers) # использовать json верно Сериализация словаря print(r.text)

Способ написания второй

Обработать автоматическое кодирование данных в jsonотправлять,запросы также предоставляют параметр json,Автоматически использовать метод json для отправки,Более того, нет необходимости отображать в заголовке запроса оператор «Content-Type»: «application/json; charset=UTF-8».

123456789101112131415161718

import requestsurl = "http://lazytools.feidee.cn/v1/qrcode/log"data = { "category": 0, "content": "hahha", "source": 1}headers = {"User-Agent": "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/53.0.2785.143 Safari/537.36 MicroMessenger/7.0.9.501 NetType/WIFI MiniProgramEnv/Windows WindowsWechat","Accept-Encoding": "gzip, deflate","Accept": "application/json, text/javascript, */*; q=0.01","Connection": "keep-alive","Host": "lazytools.feidee.cn" }r = requests.post(url=url,json=data,headers=headers) # Передайте словарь напрямую requests.post() из json Печать параметров(r.text)

Загрузить файлы

“Content-Type”: “application/x-www-form-urlencoded”

Content-Type — multipart/form-data. Чтобы отправить запрос на публикацию в составной форме, вам нужно передать только один файл. requests.post() изfilesпараметры.

123456

import requestsurl = 'http://httpbin.org/post'files = {'file': open('upload.txt', 'rb')}r = requests.post(url, files=files) # Передача файла в requests.post() из files Печать параметров(r.text)

Ссылки

Ссылка на статью: https://cloud.tencent.com/developer/article/2432241

boy illustration
Углубленный анализ переполнения памяти CUDA: OutOfMemoryError: CUDA не хватает памяти. Попыталась выделить 3,21 Ги Б (GPU 0; всего 8,00 Ги Б).
boy illustration
[Решено] ошибка установки conda. Среда решения: не удалось выполнить первоначальное зависание. Повторная попытка с помощью файла (графическое руководство).
boy illustration
Прочитайте нейросетевую модель Трансформера в одной статье
boy illustration
.ART Теплые зимние предложения уже открыты
boy illustration
Сравнительная таблица описания кодов ошибок Amap
boy illustration
Уведомление о последних правилах Points Mall в декабре 2022 года.
boy illustration
Даже новички могут быстро приступить к работе с легким сервером приложений.
boy illustration
Взгляд на RSAC 2024|Защита конфиденциальности в эпоху больших моделей
boy illustration
Вы используете ИИ каждый день и до сих пор не знаете, как ИИ дает обратную связь? Одна статья для понимания реализации в коде Python общих функций потерь генеративных моделей + анализ принципов расчета.
boy illustration
Используйте (внутренний) почтовый ящик для образовательных учреждений, чтобы использовать Microsoft Family Bucket (1T дискового пространства на одном диске и версию Office 365 для образовательных учреждений)
boy illustration
Руководство по началу работы с оперативным проектом (7) Практическое сочетание оперативного письма — оперативного письма на основе интеллектуальной системы вопросов и ответов службы поддержки клиентов
boy illustration
[docker] Версия сервера «Чтение 3» — создайте свою собственную программу чтения веб-текста
boy illustration
Обзор Cloud-init и этапы создания в рамках PVE
boy illustration
Корпоративные пользователи используют пакет регистрационных ресурсов для регистрации ICP для веб-сайта и активации оплаты WeChat H5 (с кодом платежного узла версии API V3)
boy illustration
Подробное объяснение таких показателей производительности с высоким уровнем параллелизма, как QPS, TPS, RT и пропускная способность.
boy illustration
Удачи в конкурсе Python Essay Challenge, станьте первым, кто испытает новую функцию сообщества [Запускать блоки кода онлайн] и выиграйте множество изысканных подарков!
boy illustration
[Техническая посадка травы] Кровавая рвота и отделка позволяют вам необычным образом ощипывать гусиные перья! Не распространяйте информацию! ! !
boy illustration
[Официальное ограниченное по времени мероприятие] Сейчас ноябрь, напишите и получите приз
boy illustration
Прочтите это в одной статье: Учебник для няни по созданию сервера Huanshou Parlu на базе CVM-сервера.
boy illustration
Cloud Native | Что такое CRD (настраиваемые определения ресурсов) в K8s?
boy illustration
Как использовать Cloudflare CDN для настройки узла (CF самостоятельно выбирает IP) Гонконг, Китай/Азия узел/сводка и рекомендации внутреннего высокоскоростного IP-сегмента
boy illustration
Дополнительные правила вознаграждения амбассадоров акции в марте 2023 г.
boy illustration
Можно ли открыть частный сервер Phantom Beast Palu одним щелчком мыши? Супер простой урок для начинающих! (Прилагается метод обновления сервера)
boy illustration
[Играйте с Phantom Beast Palu] Обновите игровой сервер Phantom Beast Pallu одним щелчком мыши
boy illustration
Maotouhu делится: последний доступный внутри страны адрес склада исходного образа Docker 2024 года (обновлено 1 декабря)
boy illustration
Кодирование Base64 в MultipartFile
boy illustration
5 точек расширения SpringBoot, супер практично!
boy illustration
Глубокое понимание сопоставления индексов Elasticsearch.
boy illustration
15 рекомендуемых платформ разработки с нулевым кодом корпоративного уровня. Всегда найдется та, которая вам понравится.
boy illustration
Аннотация EasyExcel позволяет экспортировать с сохранением двух десятичных знаков.