使用HTTP方式推送消息到RabbitMQ

1:账号

2:密码

3:MQ地址

4:MQ端口

5:MQ队列名

6:消息内容

附JAVA代码:

package site.duanzy.rabbitMq;

import cn.hutool.http.HttpRequest;
import cn.hutool.http.HttpResponse;
import com.alibaba.fastjson.JSONObject;

import java.util.ArrayList;
import java.util.List;

/**
 * @author leo
 * @date 2022/12/2 15:45
 */
public class RabbitMqTest {

    public static void main(String[] args) throws Exception {

        String url = "http://root:123456@10.16.2.31:15672/api/exchanges/%2F/amq.default/publish";



        List<String> list = new ArrayList<>();
        list.add("B088R4H28V");


        JSONObject jsonObject = new JSONObject();
        jsonObject.put("routing_key", "tsc.asin-info.us.queue");
        jsonObject.put("payload_encoding", "string");
        jsonObject.put("payload", "leo");

        JSONObject properties = new JSONObject();
        properties.put("delivery_mode", 1);
        JSONObject headers = new JSONObject();
        properties.put("headers", headers);
        jsonObject.put("properties", properties);

        for (String asin : list) {

            JSONObject message = new JSONObject();
            message.put("asin", asin);
            message.put("countryId", 1);
            jsonObject.put("payload", message.toJSONString());

            String body = jsonObject.toJSONString();

            HttpRequest httpRequest = HttpRequest.post(url);
            HttpResponse result = httpRequest
                    .setUrl(url)
                    .contentLength(body.length())
                    .header("Host", "10.16.2.31")
                    .header("Authorization", "Basic cm9vdDoxMjM0NTY=")
                    .body(body).execute();

            System.out.println(result.body());   // 输出:{"routed":true}
            
        }

    }


}

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 可以使用 python 库 "pika" 来连接 RabbitMQ 并批量推送消息。具体实现步骤如下: 1. 安装 "pika" 库,使用 "pip install pika" 命令。 2. 创建一个连接到 RabbitMQ 服务器的连接。 3. 打开一个通道。 4. 在通道上定义一个交换机。 5. 循环发送消息,并使用 basic_publish() 方法将消息发送到交换机上。 6. 关闭通道和连接。 示例代码如下: ``` import pika connection = pika.BlockingConnection(pika.ConnectionParameters('host')) channel = connection.channel() channel.exchange_declare(exchange='exchange_name', exchange_type='direct') for i in range(10): message = 'message ' + str(i) channel.basic_publish(exchange='exchange_name', routing_key='routing_key', body=message) print(" [x] Sent %r" % message) connection.close() ``` 请注意,上面的代码是一个简单的示例,请根据实际需求进行调整。 ### 回答2: 推送消息RabbitMQ可以使用Python的pika库来实现。以下是一个简单的示例代码: ```python import pika # 连接RabbitMQ服务器 connection = pika.BlockingConnection(pika.ConnectionParameters('localhost')) channel = connection.channel() # 声明队列 channel.queue_declare(queue='message_queue') # 批量推送消息 messages = ['消息1', '消息2', '消息3', '消息4'] for message in messages: # 发布消息到队列 channel.basic_publish(exchange='', routing_key='message_queue', body=message) print(f"已发送消息: {message}") # 关闭连接 connection.close() ``` 在以上代码中,首先我们使用pika库建立与RabbitMQ服务器的连接,并创建一个频道。然后我们声明了一个名为`message_queue`的队列。接着我们批量推送消息,每推送一条消息,都使用`channel.basic_publish()`方法将消息发布到队列中。最后我们关闭了连接。 请确保在运行代码之前已安装pika库,可以通过`pip install pika`命令来安装。 这是一个简单的示例,你可以根据实际需求向队列中推送不同的消息。 ### 回答3: 要批量推送消息RabbitMQ,我们可以使用Python编程语言。首先,需要安装pika库来处理RabbitMQ的操作。 在代码中,我们需要连接到RabbitMQ服务器,并创建一个消息通道。然后,我们可以使用basic_publish方法向指定的队列发送消息。 在批量推送消息时,可以使用一个for循环来遍历每条消息,并使用basic_publish方法发送。 以下是一个示例代码: ```python import pika # 连接到RabbitMQ服务器 connection = pika.BlockingConnection(pika.ConnectionParameters('localhost')) channel = connection.channel() # 创建一个队列 channel.queue_declare(queue='my_queue') # 消息列表 messages = ['message1', 'message2', 'message3'] # 批量推送消息 for message in messages: # 发送消息到队列 channel.basic_publish(exchange='', routing_key='my_queue', body=message) # 关闭连接 connection.close() ``` 以上代码首先连接到RabbitMQ服务器,并创建一个名为"my_queue"的队列。然后,我们定义了一个消息列表,其中包含了要批量推送消息。接下来,通过for循环遍历每条消息,并使用basic_publish方法将其发送到队列中。最后,关闭连接。 这样,我们就可以使用Python来批量推送消息RabbitMQ了。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值