I tested now with this script:
from web3 import Web3
from web3.middleware import geth_poa_middleware
provider_url1 = 'https://rpc-mainnet.matic.quiknode.pro'
provider_url4 = 'https://polygon-rpc.com'
provider_url5 = 'https://speedy-nodes-nyc.moralis.io/4243/polygon/mainnet'
w3_1 = Web3(Web3.HTTPProvider(provider_url1))
w3_4 = Web3(Web3.HTTPProvider(provider_url4))
w3_5 = Web3(Web3.HTTPProvider(provider_url5))
w3_1.middleware_onion.inject(geth_poa_middleware, layer=0)
w3_4.middleware_onion.inject(geth_poa_middleware, layer=0)
w3_5.middleware_onion.inject(geth_poa_middleware, layer=0)
print('rpc-mainnet-quicknode', w3_1.eth.get_block('latest')['number'])
print('poly-rpc', w3_4.eth.get_block('latest')['number'])
print('moralis', w3_5.eth.get_block('latest')['number'])
print('rpc-mainnet-quicknode', w3_1.eth.get_block('latest')['number'])
print('poly-rpc', w3_4.eth.get_block('latest')['number'])
print('moralis', w3_5.eth.get_block('latest')['number'])
print('rpc-mainnet-quicknode', w3_1.eth.get_block('latest')['number'])
print('poly-rpc', w3_4.eth.get_block('latest')['number'])
print('moralis', w3_5.eth.get_block('latest')['number'])
and I got this output:
rpc-mainnet-quicknode 27165121
poly-rpc 27165121
moralis 27165121
rpc-mainnet-quicknode 27165121
poly-rpc 27165121
moralis 27165121
rpc-mainnet-quicknode 27165122
poly-rpc 27165121
moralis 27165122