How To Use cURL (in PHP) For Authentication And SSL Communication How To Use onda (em PHP) para autenticação e SSL Comunicação
Using cURL (in PHP) to access http s url is often not as simple as using the proper url. Usando onda (em PHP) para acessar http s url muitas vezes não é tão simples como usar o bom url. Using it for authentication is also not very clearly documented. Utilizá-lo para autenticação não é, também, muito claramente documentadas. This is a mini tutorial for both accessing https url’s as well as for http authentication. Este é um mini tutorial para ambos acessando https url's, bem como para autenticação http.
The following is a simple example which show the most common options you will ever need to use to access https url’s as well as for http authentication. O seguinte é um exemplo simples que mostram as opções mais comuns que você necessitará sempre de usar para acessar https url's, bem como para a autenticação HTTP.
// The usual - init a curl session and set the url / / O costume - init curl uma sessão e definir o url
$ch = curl_init(); $ ch = curl_init ();
curl_setopt($ch, CURLOPT_URL, $base_url); curl_setopt ($ ch, CURLOPT_URL, $ base_url);
// Set your login and password for authentication / / Defina seu login e senha para autenticação
curl_setopt($ch, CURLOPT_USERPWD, ‘login:pasword’); curl_setopt ($ ch, CURLOPT_USERPWD, 'login: senha');
// You can use CURLAUTH_BASIC, CURLAUTH_DIGEST, CURLAUTH_GSSNEGOTIATE, / / Você pode usar CURLAUTH_BASIC, CURLAUTH_DIGEST, CURLAUTH_GSSNEGOTIATE,
// CURLAUTH_NTLM, CURLAUTH_ANY, and CURLAUTH_ANYSAFE / / CURLAUTH_NTLM, CURLAUTH_ANY, e CURLAUTH_ANYSAFE
// / /
// You can use the bitwise | (or) operator to combine more than one method. / / Você pode usar o bitwise | (ou) operador de combinar mais de um método.
// If you do this, CURL will poll the server to see what methods it supports and pick the best one. / / Se você fizer isso, terá Curl sondagem do servidor para ver o que ele suporta métodos e escolher a melhor delas.
// / /
// CURLAUTH_ANY is an alias for CURLAUTH_BASIC | CURLAUTH_DIGEST | / / CURLAUTH_ANY é um apelido para CURLAUTH_BASIC | CURLAUTH_DIGEST |
// CURLAUTH_GSSNEGOTIATE | CURLAUTH_NTLM / / CURLAUTH_GSSNEGOTIATE | CURLAUTH_NTLM
// / /
// CURLAUTH_ANYSAFE is an alias for CURLAUTH_DIGEST | CURLAUTH_GSSNEGOTIATE | / / CURLAUTH_ANYSAFE é um apelido para CURLAUTH_DIGEST | CURLAUTH_GSSNEGOTIATE |
// CURLAUTH_NTLM / / CURLAUTH_NTLM
// / /
// Personally I prefer CURLAUTH_ANY as it covers all bases / / Pessoalmente, prefiro CURLAUTH_ANY, uma vez que abrange todas as bases
curl_setopt($ch, CURLOPT_HTTPAUTH, CURLAUTH_ANY); curl_setopt ($ ch, CURLOPT_HTTPAUTH, CURLAUTH_ANY);
// This is occassionally required to stop CURL from verifying the peer’s certificate. / / Este é ocasionalmente necessárias para pôr termo a curl de verificação do certificado do peer.
// CURLOPT_SSL_VERIFYHOST may also need to be TRUE or FALSE if / / CURLOPT_SSL_VERIFYHOST também têm que ser TRUE ou FALSE se
// CURLOPT_SSL_VERIFYPEER is disabled (it defaults to 2 - check the existence of a / / CURLOPT_SSL_VERIFYPEER está desativado (é o padrão é 2 - verificar a existência de uma
// common name and also verify that it matches the hostname provided) / / Nome comum e também verificar a compatibilidade com o nome de host fornecido)
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false); curl_setopt ($ ch, CURLOPT_SSL_VERIFYPEER, false);
// Optional: Return the result instead of printing it / / Opcional: Devolve o resultado ao invés de impressão é
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); curl_setopt ($ ch, CURLOPT_RETURNTRANSFER, 1);
// The usual - get the data and close the session / / O costume - obter os dados e encerrar a sessão
$data = curl_exec($ch); $ data = curl_exec ($ ch);
curl_close($ch); curl_close ($ ch);
Use the above as a template for your code to simplify your data access using cURL. Use o referido como um modelo para o seu código para simplificar o acesso aos dados usando sua onda.
PS. The challenge with cURL documentation in PHP is that it is hard to find what you need from hundreds of available options and without enough examples of common use cases. O desafio com a onda documentação em PHP é que é difícil encontrar aquilo que você precisa de centenas de opções disponíveis, e sem suficiente exemplos de uso comum casos. What is needed is a series of How-To’s like the mini-tutorial above. O que é necessário é uma série de Como-A's como o mini-tutorial acima.
Filed under Arquivado em Computer Security Segurança de computadores , Headline News Headline News , How To How To , PHP , Tech Note Nota Tech , Web , Web Services Web Services | |
| |
RSS 2.0 RSS 2,0 | |
Trackback this Article | este artigo |
Email this Article E-mail este artigo
You may also like to read Você pode também gosta de ler |




































October 31st, 2006 at 10:06 pm Outubro 31o, 2006, 10:06 pm
[...] Let’s take a PHP script that does a number of CURL calls as an example. [...] Vamos fazer um script PHP que faz uma série de chamadas Curl como um exemplo. PHP gives you access to libcurl a really powerful tool for calling up other web pages, web services, RSS feeds, and whatever else you can dream up, right in your PHP code. PHP dá-lhe acesso a libcurl realmente uma ferramenta poderosa para a reforços outras páginas da web, web services, feeds RSS, e tudo aquilo que o sonho pode-se, mesmo em seu código PHP. This article is not a general introduction to CURL, so I won’t go into detail, but basically the CURL functions allow your code to make requests and get responses from web sites just like a browser. Este artigo não é uma introdução geral ao Curl, por isso não vou entrar em detalhes, mas basicamente o curl funções permitem o seu código para fazer pedidos e obter respostas de sites da Web apenas como um navegador. You can then parse the results use the data on your site. Você pode, então, analisar os resultados utilizar os dados em seu site. [...]
November 2nd, 2006 at 4:48 am 2 de novembro, 2006 em 4:48 am
[...] [...] [...] [...]
November 28th, 2007 at 12:02 pm 28 de novembro de 2007 em 12:02
Thank you for this article and all of the information you’ve provided. Obrigado por este artigo e todas as informações que você forneceu.
After I had my prototype remote log-in system working, I moved it to a secure server, and nothing worked anymore. Depois eu tive o meu protótipo de sistema remoto diário de trabalho, mudei-a para um servidor seguro, e nada funcionou mais.
Then I Googled for a couple of hours, until I found this page. Então eu Googled para um par de horas, até que encontrei esta página. Awesome! Impressionante! Everything is working again. Tudo está funcionando novamente.
Yes, you are absolutely right: It’sa jungle out there when you’re trying to find which CURL options are applicable and will actually work with any given situation. Sim, tem toda a razão: É uma selva lá fora, quando você estiver tentando encontrar Curl opções que são aplicáveis e será de fato trabalhar com qualquer tipo de situação.
Hats off to you! Hats off para você! You made my day! Você fez o meu dia!
January 15th, 2008 at 2:46 pm 15 de janeiro de 2008, 2:46 pm
Thanks for the info. Obrigado pela informação.
One small thing: curl_exec() should have $ch as the parameter: Uma pequena coisa: curl_exec () deveria ter US $ ch como o parâmetro:
$data = curl_exec($ch);$ data = curl_exec ($ ch);January 15th, 2008 at 10:50 pm 15 de janeiro de 2008, 10:50 pm
Thanks. Obrigado. Corrected. Corrigido.
March 29th, 2008 at 6:22 am 29 de março, 2008, 6:22 am
// CURLAUTH_ANYSAFE is an alias for CURLAUTH_DIGEST | CURLAUTH_GSSNEGOTIATE | / / CURLAUTH_ANYSAFE é um apelido para CURLAUTH_DIGEST | CURLAUTH_GSSNEGOTIATE |
// CURLAUTH_NTLM / / CURLAUTH_NTLM
// / /
problem pls check it… PLS problema check-…
May 7th, 2008 at 9:00 am 7o maio, 2008, 9:00 am
hello, Olá,
I tried ur code for a different website but it says there is syntax error(unexpected ‘:’ in that specific line in the line which we are supposed to edit our username and password to that site.. as i looking fro such similar login codes i would be thankful if u could help, Tentei ur código para um sítio diferente, mas ele diz que não há erro de sintaxe (inesperado ':' em linha específica, em que a linha que estamos a editar o nosso suposto nome de usuário e senha para que o site .. i olhando fro tais como login códigos semelhantes Gostaria de ser agradecidos se u poderia ajudar,
Thanks and regards, Obrigado e abraço,
Rahul.. Rahul ..