Mar 24 2009

6 comandos essenciais usando cURL

CURL é uma ferramenta linha de comando para manipulações de dados e transferências.

O principal benefício da utilização da interface de linha de comando é que você pode usar tanto Windows ou Linux como shell scripts para automatizar URL e muitos processos relacionados.

Veja abaixo:

1. Reading URLs

curl http://www.google.com
curl https://www.secure-site.com

Salvar uma página

curl -o savedpage.html http://www.example.com/

Autenticação

curl -u username:password http://www.example.com/

2. Parâmetros  GET

http://example.com/pages.php?pageNo=35

Adicionando uma expressão regular como parâmetro no cURL URL, no exemplo fazendo o download das páginas 1 a 12

curl -o pages#1.html http://example.com/pages.php?pageNo=[1-12]

3. Informação do documento

Exibir apenas os cabeçalhos

curl --head http://www.google.com/

Visualizar uma imagem

curl --head http://www.google.com/logo_plain.jpg

Converter para um arquivo

curl --dump-header headers.txt http://www.google.com/

4. CURL and FTP

Listar um diretório

curl ftp://username:password@example.com/directory/

Fazendo um Upload

curl -T uploadfilename -u username:password ftp://sitename.com/myfile

5. Enviando POST.

<form method="POST" action="process.php">
  <input type=text name="item">
  <input type=text name="category">
  <input type=submit name="submit" value="ok">
</form>

curl -d "item=bottle&category=consumer&submit=ok"
           www.example.com/process.php

6. Referer & User Agent

curl -e http://some_referring_site.com  http://www.example.com/

curl -A "Mozilla/5.0 (compatible; MSIE 7.01; Windows NT 5.0)"

http://www.example.com

Fonte: http://www.codediesel.com/tools/6-essential-curl-commands/


Nov 10 2008

Executar Shell Scripts PHP com Crontab

Uma alternativa legal utilizando o Crontab do linux (agendador de tarefas) para executar shell scripts feito em PHP.

Antes de mais nada temos que verificar se nosso sistema está rodando o PHP e o php-cli, caso contrário temos que instalar, no meu caso no Ubuntu só tive que usar:

sudo apt-get install php5-cli

Como já tenho o PHP 5 instalado só foi adicionar o pacote php5-cli para rodar os programas feitos em PHP no Terminal do linux como verdadeiros Shell Scripts :)

Agora vamos configurar o crontab para executar determinado arquivo em 1 e 1 minuto.

No terminal:

crontab -e

E vamos adicionar a linha:

* * * * * php /var/www/teste.php

Pronto, estamos passando o comando para executar o arquivo teste.php com o seu caminho completo ex: php /var/www/teste.php.

E nosso arquivo Shell Script teste.php como ele é? Assim:

#!/usr/local/bin/php -q
<?php
$resu = fopen(“/var/www/teste.txt”,”w+”);
fclose($resu);
?>

Simples, estamos criando um arquivo vazio dentro de WWW, não podemos esquecer de dar permissão 755 para nosso programa.

Observe a primeira linha #!/usr/local/bin/php -q

No meu exemplo estou fornecendo o caminho do interpretador PHP do meu sistema /usr/local/bin, para saber o caminho correto do seu sistema crie um arquivo php com a função phpinfo(); e veja o Path completo.

Assim declaro que o arquivo é executado em Bash, detalhe se você não colocar esse parâmetro na primeira linha seu Shell Script em PHP irá funcionar normalmente executando o comando somente em um Terminal, ficando assim:

php /var/www/teste.php

Mas como queremos utilizar o Crontab ele só irá funcionar com esses parâmetros ok.

É uma boa alternativa escrever Shell Scripts em PHP, podemos usar qualquer função do PHP, conexão com banco de dados, includes de classes e funções e etc.

Recomendo uma pesquisa mais avançada sobre o Crontab e Shell Scripts que não é muito difícil, mas fica a dica.

Até mais.