How to fake mqtt messages by using Python

Catch 

import paho.mqtt.client as mqtt
from auto_everything.io import IO

io_ = IO()

def on_connect(client, userdata, flags, rc):
    print("Connected with result code "+str(rc))
    client.subscribe("#")

def on_message(client, userdata, msg):
    text = msg.payload.decode("utf-8")
    print(text)
    io_.append("data.txt", "\n" + text)

client = mqtt.Client()
client.on_connect = on_connect
client.on_message = on_message

while True:
    try:
        client.connect("192.168.201.81", 1883, 60)

        client.loop_forever()
    except Exception as e:
        print(e)

Replay

import paho.mqtt.client as mqtt
import json
from time import sleep
from auto_everything.io import IO
io_ = IO()
import socket
socket.setdefaulttimeout(1000)

data_list = io_.read("data.txt").split("\n")

index = 0
length = len(data_list)

client = mqtt.Client()
client.connect("192.168.201.81", 1883, 60)
while True:
    try:
        one = data_list[index]
        print(one)
        obj = json.loads(one)
        client.publish(obj["topicName"], one)
        index += 1
        sleep(0.01)
        if (index > length - 1):
            index = 0
    except Exception as e:
        try: 
            client.connect("192.168.201.81", 1883, 60)
        except Exception as e:
            continue
        print(data_list[index])
        print(e)
        index += 1
        if (index > length - 1):
            index = 0