Запросы Python с типом содержимого-это приложение/x-www-форма-url-кодированный не работает

#python #java #spring-boot #python-requests #gupshup

Вопрос:

Ниже приведен запрос почтальона, который я хочу реализовать в своей базе кода либо с помощью python, либо с помощью java или python.

тип контента-приложение/x-www-форма-url-кодированный

в настоящее время я пытаюсь работать с python.

тело запроса почтальона
введите описание изображения здесь

заголовок запроса почтальона
введите описание изображения здесь

Ниже приведен код, с которым я пытаюсь работать, но он не работает.

 import requests
import sys
import json


def sendMessage(contact, content):
    url = "https://api.gupshup.io/sm/api/v1/msg"
    contact = contact.replace("91", "")
    print("conatct is", contact)
    print("content is", content)

    payload = json.dumps({
        "channel": "whatsapp",
        "source": "917834811114",
        "destination": '91' contact,
        # "message": {"type":"text","text":content},
        "message": {
            "isHSM": "true",
            "type": "text",
            "text": "Hi John, your order is confirmed and will be delivered to you by 15 Feb"
        },
        "src.name": "rubixds"
    })
    # payload = 'channel=whatsappamp;source=917834811114amp;destination=' '91' contact   
    #     'amp;message={"type":"text","text":"

'   
    #     content '

"}amp;src.name=rubixds'
    params = {'message': {
        "isHSM": "true",
        "type": "text",
        "text": "Hi John, your order is confirmed and will be delivered to you by 15 Feb"
    }}

    headers = {
        'Content-Type': 'application/x-www-form-urlencoded',
        'apikey': 'xxx'
    }

    response = requests.request(
        "POST", url, headers=headers, params=params, data=payload)

    print(response.text)
 

что касается проблемы ниже, похоже, что параметр сообщения не считывается API.
введите описание изображения здесь

Был бы признателен за всю помощь, которую я могу получить, чтобы сделать это с помощью java 8 (весенняя загрузка) или python.

Комментарии:

1. В своем коде Python вы используете 'Content-Type': 'application/json'

2. И вы не можете опубликовать JSON, если у вас есть приложение/x-www-форма-url, закодированный как тип данных. Этот тип данных требует, чтобы у вас был URL-адрес ваших данных, variable1=value2amp;variable2=value2 как следует из его названия.

3. извините, использовал неправильный код, теперь обновил вопрос правильным кодом

4. Тем не менее вы пытаетесь ввести JSON в качестве входных данных, даже если вы заявляете, что ваши данные закодированы по URL-адресу.

5. понял, значит, нам нужно использовать любую библиотеку кодировщиков из python и передать URL-адрес правильно?