Download do cURL
cURL é uma parte padrão do macOS e de algumas regiões do Linux. No entanto, ele está disponível para a maioria dos sistemas operacionais. Os downloads mais recentes podem ser encontrados em https://curl.haxx.se/download.html.
O repositório de origem do cURL também pode ser encontrado no GitHub.
Como criar um comando de AEM pronto para cURL
Comandos cURL podem ser criados para a maioria das operações em AEM, como acionamento de workflows, verificação de configurações OSGi, acionamento de comandos JMX, criação de agentes de replicação e muito mais.
Para encontrar o comando exato necessário para a operação em particular, é necessário usar as ferramentas do desenvolvedor em seu navegador para capturar a chamada de POST para o servidor ao executar o comando AEM.
As etapas a seguir descrevem como fazer isso usando a criação de uma nova página no navegador Chrome como exemplo.
-
Prepare a ação que deseja invocar no AEM. Neste caso, prosseguimos até ao final do Criar página assistente, mas ainda não clicaram Criar.
-
Inicie as ferramentas do desenvolvedor e selecione o Rede guia . Clique no botão Preservar log antes de limpar o console.
-
Clique em Criar no Criar página assistente para realmente criar o workflow.
-
Clique com o botão direito do mouse na ação de POST resultante e selecione Copiar -> Copiar como cURL.
-
Copie o comando cURL para um editor de texto e remova todos os cabeçalhos do comando, que começa com
-H
(destacado em azul na imagem abaixo) e adicione o parâmetro de autenticação apropriado, como-u <user>:<password>
. -
Execute o comando cURL pela linha de comando e visualize a resposta.
Comandos cURL AEM Operacionais Comuns
Esta é uma lista de comandos AEM cURL para tarefas administrativas e operacionais comuns.
localhost
no porto 4502
e usa o usuário admin
com senha admin
. Os espaços reservados para comandos adicionais são definidos em colchetes.Gerenciamento de pacotes
Listar todos os pacotes instalados
curl -u <user>:<password> http://<host>:<port>/crx/packmgr/service.jsp?cmd=ls
Criar um pacote
curl -u <user>:<password> -X POST http://localhost:4502/crx/packmgr/service/.json/etc/packages/mycontent.zip?cmd=create -d packageName=<name> -d groupName=<name>
Visualizar um pacote
curl -u <user>:<password> -X POST http://localhost:4502/crx/packmgr/service/.json/etc/packages/mycontent.zip?cmd=preview
Conteúdo do pacote de listas
curl -u <user>:<password> -X POST http://localhost:4502/crx/packmgr/service/console.html/etc/packages/mycontent.zip?cmd=contents
Criar um pacote
curl -X POST http://localhost:4502/crx/packmgr/service/.json/etc/packages/mycontent.zip?cmd=build
Reenvolver um pacote
curl -u <user>:<password> -X POST http://localhost:4502/crx/packmgr/service/.json/etc/packages/mycontent.zip?cmd=rewrap
Renomear um pacote
curl -u <user>:<password> -X POST -Fname=<New Name> http://localhost:4502/etc/packages/<Group Name>/<Package Name>.zip/jcr:content/vlt:definition
Fazer upload de um pacote
curl -u <user>:<password> -F cmd=upload -F force=true -F package=@test.zip http://localhost:4502/crx/packmgr/service/.json
Instalar um pacote
curl -u <user>:<password> -F cmd=install http://localhost:4502/crx/packmgr/service/.json/etc/packages/my_packages/test.zip
Desinstalar um pacote
curl -u <user>:<password> -F cmd=uninstall http://localhost:4502/crx/packmgr/service/.json/etc/packages/my_packages/test.zip
Excluir um pacote
curl -u <user>:<password> -F cmd=delete http://localhost:4502/crx/packmgr/service/.json/etc/packages/my_packages/test.zip
Baixar um pacote
curl -u <user>:<password> http://localhost:4502/etc/packages/my_packages/test.zip
Gerenciamento de usuários
Criar um novo usuário
curl -u <user>:<password> -FcreateUser= -FauthorizableId=hashim -Frep:password=hashim http://localhost:4502/libs/granite/security/post/authorizables
Criar um novo grupo
curl -u <user>:<password> -FcreateGroup=group1 -FauthorizableId=testGroup1 http://localhost:4502/libs/granite/security/post/authorizables
Adicionar uma propriedade a um usuário existente
curl -u <user>:<password> -Fprofile/age=25 http://localhost:4502/home/users/h/hashim.rw.html
Criar um usuário com um perfil
curl -u <user>:<password> -FcreateUser=testuser -FauthorizableId=hashimkhan -Frep:password=hashimkhan -Fprofile/gender=male http://localhost:4502/libs/granite/security/post/authorizables
Criar um novo usuário como membro de um grupo
curl -u <user>:<password> -FcreateUser=testuser -FauthorizableId=testuser -Frep:password=abc123 -Fmembership=contributor http://localhost:4502/libs/granite/security/post/authorizables
Adicionar um usuário a um grupo
curl -u <user>:<password> -FaddMembers=testuser1 http://localhost:4502/home/groups/t/testGroup.rw.html
Remover um usuário de um grupo
curl -u <user>:<password> -FremoveMembers=testuser1 http://localhost:4502/home/groups/t/testGroup.rw.html
Definir Associação de Grupo de um Usuário
curl -u <user>:<password> -Fmembership=contributor -Fmembership=testgroup http://localhost:4502/home/users/t/testuser.rw.html
Excluir um usuário
curl -u <user>:<password> -FdeleteAuthorizable= http://localhost:4502/home/users/t/testuser
Excluir um grupo
curl -u <user>:<password> -FdeleteAuthorizable= http://localhost:4502/home/groups/t/testGroup
curl -u <user>:<password> -Faction=start http://localhost:4502/system/console/bundles/<bundle-name>
Parar um pacote
curl -u <user>:<password> -Faction=stop http://localhost:4502/system/console/bundles/<bundle-name>
Dispatcher
Invalidar o cache
curl -H "CQ-Action: Activate" -H "CQ-Handle: /content/test-site/" -H "CQ-Path: /content/test-site/" -H "Content-Length: 0" -H "Content-Type: application/octet-stream" http://localhost:4502/dispatcher/invalidate.cache
Despeje o cache
curl -H "CQ-Action: Deactivate" -H "CQ-Handle: /content/test-site/" -H "CQ-Path: /content/test-site/" -H "Content-Length: 0" -H "Content-Type: application/octet-stream" http://localhost:4502/dispatcher/invalidate.cache
Agente de replicação
Verifique o status de um agente
curl -u <user>:<password> "http://localhost:4502/etc/replication/agents.author/publish/jcr:content.queue.json?agent=publish"
http://localhost:4502/etc/replication/agents.author/publish/jcr:content.queue.json?agent=publish
Excluir um agente
curl -X DELETE http://localhost:4502/etc/replication/agents.author/replication99 -u <user>:<password>
Criar um agente
curl -u <user>:<password> -F "jcr:primaryType=cq:Page" -F "jcr:content/jcr:title=new-replication" -F "jcr:content/sling:resourceType=/libs/cq/replication/components/agent" -F "jcr:content/template=/libs/cq/replication/templates/agent" -F "jcr:content/transportUri=http://localhost:4503/bin/receive?sling:authRequestLogin=1" -F "jcr:content/transportUser=admin" -F "jcr:content/transportPassword={DES}8aadb625ced91ac483390ebc10640cdf"http://localhost:4502/etc/replication/agents.author/replication99
Pausar um agente
curl -u <user>:<password> -F "cmd=pause" -F "name=publish" http://localhost:4502/etc/replication/agents.author/publish/jcr:content.queue.json
Limpar uma fila de agentes
curl -u <user>:<password> -F "cmd=clear" -F "name=publish" http://localhost:4502/etc/replication/agents.author/publish/jcr:content.queue.json
Communities
Atribuir e Revogar Símbolos
Consulte Pontuação e emblemas de comunidades para obter detalhes.
Consulte Fundamentos de pontuação e emblemas para obter detalhes.
Reindexação MSRP
Consulte MSRP - Provedor de recursos de armazenamento MongoDB para obter detalhes.
Segurança
Ativação e desativação do CRX DE Lite
Consulte Ativar o CRXDE Lite AEM para obter detalhes.
Coleta de lixo do armazenamento de dados
Consulte Coleta de lixo do armazenamento de dados para obter detalhes.
Integração do Analytics e do Target
Consulte Aceitação no Adobe Analytics e Adobe Target para obter detalhes.
Logon único
Enviar Cabeçalho de Teste
Consulte Logon único para obter detalhes.
Comandos cURL de Manipulação de Conteúdo Comum AEM
Esta é uma lista de AEM comandos cURL para manipulação de conteúdo.
localhost
no porto 4502
e usa o usuário admin
com senha admin
. Os espaços reservados para comandos adicionais são definidos em colchetes.Gerenciamento de página
Ativação de página
curl -u <user>:<password> -X POST -F path="/content/path/to/page" -F cmd="activate" http://localhost:4502/bin/replicate.json
Desativação de página
curl -u <user>:<password> -X POST -F path="/content/path/to/page" -F cmd="deactivate" http://localhost:4502/bin/replicate.json
Ativação de árvore
curl -u <user>:<password> -F cmd=activate -F ignoredeactivated=true -F onlymodified=true -F path=/content/geometrixx http://localhost:4502/etc/replication/treeactivation.html
Bloquear página
curl -u <user>:<password> -X POST -F cmd="lockPage" -F path="/content/path/to/page" -F "_charset_"="utf-8" http://localhost:4502/bin/wcmcommand
Desbloquear a página
curl -u <user>:<password> -X POST -F cmd="unlockPage" -F path="/content/path/to/page" -F "_charset_"="utf-8" http://localhost:4502/bin/wcmcommand
Página de cópia
curl -u <user>:<password> -F cmd=copyPage -F destParentPath=/path/to/destination/parent -F srcPath=/path/to/source/location http://localhost:4502/bin/wcmcommand
Fluxos de trabalhos
Consulte Interação com fluxos de trabalho programaticamente para obter detalhes.
Conteúdo Sling
Criar uma pasta
curl -u <user>:<password> -F jcr:primaryType=sling:Folder http://localhost:4502/etc/test
Excluir um nó
curl -u <user>:<password> -F :operation=delete http://localhost:4502/etc/test/test.properties
Mover um nó
curl -u <user>:<password> -F":operation=move" -F":applyTo=/sourceurl" -F":dest=/target/parenturl/" https://localhost:4502/content
Copiar um nó
curl -u <user>:<password> -F":operation=copy" -F":applyTo=/sourceurl" -F":dest=/target/parenturl/" https://localhost:4502/content
Fazer Upload De Arquivos Usando O Sling PostServlet
curl -u <user>:<password> -F"*=@test.properties" http://localhost:4502/etc/test
Fazer upload de arquivos usando o Sling PostServlet e especificar o nome do nó
curl -u <user>:<password> -F"test2.properties=@test.properties" http://localhost:4502/etc/test
Fazer upload de arquivos especificando um tipo de conteúdo
curl -u <user>:<password> -F "*=@test.properties;type=text/plain" http://localhost:4502/etc/test
Manipulação de ativos
Consulte API HTTP de ativos para obter detalhes.