pq o cloudflare bloqueia meu request: curl 'https:...
Tạo vào: 18 tháng 8, 2025
Trả lời bằng GPT-5 Thinking bởi Chat01
Tạo vào: 18 tháng 8, 2025
Trả lời bằng GPT-5 Thinking bởi Chat01
pq o cloudflare bloqueia meu request: curl 'https://lmarena.ai/api/stream/create-evaluation'
-H 'accept: /'
-H 'accept-language: pt-BR,pt;q=0.9,en-US;q=0.8,en;q=0.7'
-H 'content-type: text/plain;charset=UTF-8'
-b '_ga=GA1.1.909869449.1755264001; __client_uat=0; __clerk_db_jwt=dvb_31KEMbfYX1Btcuyu2SmWj5diS6R; _ga_N6MCLSNCLZ=GS2.1.s1755264349g1j60h0; __cf_bm=zKViMODT80VSRc6yPWOil8YjrTYQGIb9_INO8tZD9lo-1755515926-1.0.1.1-g7.jQJBg5BNVfeDwksJLNytOCvzlCDJkaXTXplqOzu_oAhjcWPhmqs40d22Q8U6TT_hYZvk8tcY2ZimgXLk8WvADEufrSDgMqWaxq9O1QeM; arena-auth-prod-v1=base64-eyJhY2Nlc3NfdG9rZW4iOiJleUpoYkdjaU9pSklVekkxTmlJc0ltdHBaQ0k2SWtOVFQwNHhkM05uU0hkRlNFTkNNbGNpTENKMGVYQWlPaUpLVjFRaWZRLmV5SnBjM01pT2lKb2RIUndjem92TDJoMWIyZDZiMlZ4ZW1OeVpIWnJkM1IyYjJScExuTjFjR0ZpWVhObExtTnZMMkYxZEdndmRqRWlMQ0p6ZFdJaU9pSTJOVGM1TXpNeVlTMDFNbU15TFRRMk9XSXRPVGc0WmkxaU16TmhZMlJtTkdVMlpEVWlMQ0poZFdRaU9pSmhkWFJvWlc1MGFXTmhkR1ZrSWl3aVpYaHdJam94TnpVMU5URTVOVE14TENKcFlYUWlPakUzTlRVMU1UVTVNekVzSW1WdFlXbHNJam9pSWl3aWNHaHZibVVpT2lJaUxDSmhjSEJmYldWMFlXUmhkR0VpT250OUxDSjFjMlZ5WDIxbGRHRmtZWFJoSWpwN0ltbGtJam9pTlRCaFpEUm1ZV0l0WVdJME15MDBaRFJtTFRreVpXSXRZV0ptWlRFNU5URXhaV1U1SW4wc0luSnZiR1VpT2lKaGRYUm9aVzUwYVdOaGRHVmtJaXdpWVdGc0lqb2lZV0ZzTVNJc0ltRnRjaUk2VzNzaWJXVjBhRzlrSWpvaVlXNXZibmx0YjNWeklpd2lkR2x0WlhOMFlXMXdJam94TnpVMU1qWTBNREEyZlYwc0luTmxjM05wYjI1ZmFXUWlPaUptTURFeU1XUTBNaTFoWW1NNUxUUmpaV0l0WVRGbE55MHdOR0prT1dOa1pETTFNakFpTENKcGMxOWhibTl1ZVcxdmRYTWlPblJ5ZFdWOS5JbG1zaGhPcENfRkR4MkJfYzFPMDRwaEJvTjIyVm5XQ3ZTZzNpZkRWbWg4IiwidG9rZW5fdHlwZSI6ImJlYXJlciIsImV4cGlyZXNfaW4iOjM2MDAsImV4cGlyZXNfYXQiOjE3NTU1MTk1MzEsInJlZnJlc2hfdG9rZW4iOiI3eXZraDR2Mm95dGwiLCJ1c2VyIjp7ImlkIjoiNjU3OTMzMmEtNTJjMi00NjliLTk4OGYtYjMzYWNkZjRlNmQ1IiwiYXVkIjoiYXV0aGVudGljYXRlZCIsInJvbGUiOiJhdXRoZW50aWNhdGVkIiwiZW1haWwiOiIiLCJwaG9uZSI6IiIsImxhc3Rfc2lnbl9pbl9hdCI6IjIwMjUtMDgtMTVUMTM6MjA6MDYuMjY3MTg0WiIsImFwcF9tZXRhZGF0YSI6e30sInVzZXJfbWV0YWRhdGEiOnsiaWQiOiI1MGFkNGZhYi1hYjQzLTRkNGYtOTJlYi1hYmZlMTk1MTFlZTkifSwiaWRlbnRpdGllcyI6W10sImNyZWF0ZWRfYXQiOiIyMDI1LTA4LTE1VDEzOjIwOjA2LjI2NTcxMVoiLCJ1cGRhdGVkX2F0IjoiMjAyNS0wOC0xOFQxMToxODo0Ny4xMTA3NDlaIiwiaXNfYW5vbnltb3VzIjp0cnVlfX0; cf_clearance=L6.8YVuCxHAtU58_zxY4hTbeX7Oka6NebIP4E2FKgK8-1755515991-1.2.1.1-GxbIoov7gOMuskXt2W7fdNJdPMN2lEyNofMrNWgxzSL.OL4.FcVxpmETOoncU6zLgX3vZUh9DEkTxz1cLCJCgaifTNxH7VX_RR8yHaQuPzwzrLULWR08tufdfrkVAqj6ilUjG7fmkg3IUioWLx6.uq.Ivd.HMs9rbVSIiRcEG1z0xyWPd_SaZmnfSksuc_W97zDQiIq_RIlAxQagXSPSM664MnNkRlfPMuZ916hl9kewFQlzhWEIGRFAEZBdrxAP; ph_phc_LG7IJbVJqBsk584rbcKca0D5lV2vHguiijDrVji7yDM_posthog=%7B%22distinct_id%22%3A%2250ad4fab-ab43-4d4f-92eb-abfe19511ee9%22%2C%22%24sesid%22%3A%5B1755516120297%2C%220198bce7-4efc-72cd-bd68-ede97fcf6ba0%22%2C1755515932412%5D%2C%22%24epp%22%3Atrue%2C%22%24initial_person_info%22%3A%7B%22r%22%3A%22%24direct%22%2C%22u%22%3A%22https%3A%2F%2Flmarena.ai%2F%22%7D%7D; _ga_72FK1TMV06=GS2.1.s1755515932g1j20h0'
-H 'origin: https://lmarena.ai'
-H 'priority: u=1, i'
-H 'referer: https://lmarena.ai/'
-H 'sec-ch-ua: "Not;A=Brand";v="99", "Google Chrome";v="139", "Chromium";v="139"'
-H 'sec-ch-ua-arch: "x86"'
-H 'sec-ch-ua-bitness: "64"'
-H 'sec-ch-ua-full-version: "139.0.7258.128"'
-H 'sec-ch-ua-full-version-list: "Not;A=Brand";v="99.0.0.0", "Google Chrome";v="139.0.7258.128", "Chromium";v="139.0.7258.128"'
-H 'sec-ch-ua-mobile: ?0'
-H 'sec-ch-ua-model: ""'
-H 'sec-ch-ua-platform: "Windows"'
-H 'sec-ch-ua-platform-version: "19.0.0"'
-H 'sec-fetch-dest: empty'
-H 'sec-fetch-mode: cors'
-H 'sec-fetch-site: same-origin'
-H 'user-agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/139.0.0.0 Safari/537.36'
--data-raw '{"id":"ec5ed15c-ea21-4764-9570-14ded4079e51","mode":"battle","userMessageId":"1869f827-b4c2-4bf6-93c1-a35771ed8b31","modelAMessageId":"61173745-f689-4790-b931-594ca8f1a662","modelBMessageId":"63e45bbd-da62-49da-a616-0471572e19db","messages":[{"id":"1869f827-b4c2-4bf6-93c1-a35771ed8b31","role":"user","content":"Low-angle cinematic shot of a Formula 1 pit crew helmet, towering in the frame. The glossy visor reflects a Formula 1 race car entering the pit lane, mechanics rushing around. The reflection is slightly warped by the visor curve, creating a dramatic perspective. Strong contrast, warm natural light, high-detail textures of helmet and visor. Editorial motorsport aesthetic.","experimental_attachments":[],"parentMessageIds":[],"participantPosition":"a","modelId":null,"evaluationSessionId":"ec5ed15c-ea21-4764-9570-14ded4079e51","status":"pending","failureReason":null},{"id":"61173745-f689-4790-b931-594ca8f1a662","role":"assistant","content":"","experimental_attachments":[],"parentMessageIds":["1869f827-b4c2-4bf6-93c1-a35771ed8b31"],"participantPosition":"a","modelId":null,"evaluationSessionId":"ec5ed15c-ea21-4764-9570-14ded4079e51","status":"pending","failureReason":null},{"id":"63e45bbd-da62-49da-a616-0471572e19db","role":"assistant","content":"","experimental_attachments":[],"parentMessageIds":["1869f827-b4c2-4bf6-93c1-a35771ed8b31"],"participantPosition":"b","modelId":null,"evaluationSessionId":"ec5ed15c-ea21-4764-9570-14ded4079e51","status":"pending","failureReason":null}],"modality":"chat"}' ?
Pelo jeito, o bloqueio não é “do seu JSON”, e sim do bot management/WAF da Cloudflare do site. Você está tentando chamar um endpoint pensado para ser usado pelo front-end do lmarena.ai (mesma origem, com desafios anti-bot no navegador), e o curl
não reproduz isso. Pontos que costumam disparar bloqueio:
Cookies e “clearances” do Cloudflare não são portáveis
cf_clearance
e __cf_bm
são emitidos para aquele navegador, IP e “fingerprint” TLS. Quando você reaproveita no curl
, a Cloudflare detecta inconsistência e bloqueia.
Desafios de navegador ausentes
A página geralmente exige resolver Turnstile/challenge e executar JS. O curl
não roda JS nem envia os sinais esperados (integração JS, h2/h3, fingerprints), então falha.
Headers “de navegador” falsos
Esses sec-ch-ua*
, sec-fetch-*
, accept-language
, etc., copiados do Chrome, parecem spoof quando vêm de curl
. Isso costuma aumentar a pontuação de risco.
Política de mesma origem / CORS + CSRF
Mesmo com cookies de sessão (arena-auth-prod-v1
, __clerk_db_jwt
), o backend pode exigir Origin/Referer
confiável e um token CSRF emitido no carregamento da página. De fora da origem, bloqueia.
Content-Type inadequado
Você está mandando content-type: text/plain;charset=UTF-8
com um JSON. Se o backend espera application/json
, já pode cair em regra do WAF.
Autenticação errada
Muitos endpoints internos não são API pública. Precisam de um header Authorization: Bearer <api_key>
emitido para chamadas server-to-server. Cookies de navegador não substituem isso.
Rate limit / regras do WAF
Repetir tentativas, IPs de datacenter ou padrões suspeitos (payload grande, campos fora do esquema) podem acionar bloqueio.
Use a API pública (se existir): procure documentação do lmarena.ai que descreva endpoint, autenticação com API key e Content-Type: application/json
. Exemplo genérico:
bashcurl -X POST 'https://lmarena.ai/api/stream/create-evaluation' \ -H 'Authorization: Bearer <SUA_API_KEY>' \ -H 'Content-Type: application/json' \ -d '{ ...seu payload JSON... }'
(Sem cookies de navegador, sem headers “sec-*”.)
Se não houver API pública, chame o endpoint apenas pelo site, como foi projetado. Chamadas diretas de fora (curl, scripts) normalmente serão bloqueadas.
Não reutilize cookies do navegador: além de instáveis, podem violar os termos do serviço.
Ajuste o Content-Type: envie application/json
para payload JSON.
Simplifique os headers: mantenha só Content-Type
, Accept
e, se aplicável, Authorization
. Remova os sec-ch-ua*
, sec-fetch-*
, origin
, etc.
Fale com o suporte do serviço: peça credenciais de API ou whitelist para server-to-server, se o caso de uso for legítimo.
Se você quiser, posso te ajudar a montar um curl
mínimo (com application/json
) a partir do seu payload — mas só vai funcionar se o serviço realmente oferecer autorização por token e permitir acesso externo a esse endpoint.