abobre Postado Março 5, 2014 Postado Março 5, 2014 Boa noite, não tenho experiência em programar com o PHP e estou apanhando bastante para conseguir pegar os dados do sendscore via curl, eu consigo me logar no sendscore, mas não consigo acessar os links para pegar os dados. <?php $username="*******@***********"; $password="***********"; $url="https://www.senderscore.org/"; $cookie="cookie.txt"; $postdata = 'email='.$username.'&password='.$password.'&Submit=Sign+in&action=localLogin'; $ch = curl_init(); curl_setopt ($ch, CURLOPT_URL, $url . "index.php"); curl_setopt ($ch, CURLOPT_SSL_VERIFYPEER, FALSE); curl_setopt ($ch, CURLOPT_USERAGENT, "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1.6) Gecko/20070725 Firefox/2.0.0.6"); curl_setopt ($ch, CURLOPT_TIMEOUT, 60); curl_setopt ($ch, CURLOPT_FOLLOWLOCATION, 1); curl_setopt ($ch, CURLOPT_RETURNTRANSFER, 1); curl_setopt ($ch, CURLOPT_COOKIEJAR, $cookie); //curl_setopt ($ch, CURLOPT_REFERER, 'https://www.senderscore.org/lookup.php?lookup=5.39.116.51'); curl_setopt ($ch, CURLOPT_POSTFIELDS, $postdata); curl_setopt ($ch, CURLOPT_POST, 1); $result = curl_exec ($ch); curl_setopt($ch, CURLOPT_AUTOREFERER, 'https://www.senderscore.org/lookup.php?lookup=5.39.116.51'); curl_close($ch); echo $result; exit; ?> No código acima eu consigo me logar no sendscore, mas não consigo passar disso !
Jaime Silva Postado Março 6, 2014 Postado Março 6, 2014 Acho que tá faltando a opção CURLOPT_COOKIEFILE para carregar o cookie. Não sei mas eu preferiaria usar 2 conexões, uma para se logar e salvar o cookie; a outra para carregá-lo e acessar a página final. Não há bem nem mal que dure para sempre. Um dia tudo acaba.
joaopaulo Postado Março 6, 2014 Postado Março 6, 2014 Acho que tá faltando a opção CURLOPT_COOKIEFILE para carregar o cookie. Não sei mas eu preferiaria usar 2 conexões, uma para se logar e salvar o cookie; a outra para carregá-lo e acessar a página final. Exato, eu também faço o mesmo.
abobre Postado Março 6, 2014 Autor Postado Março 6, 2014 Jaime ou jp, pode postar um exemplo? Obrigado
Jaime Silva Postado Março 6, 2014 Postado Março 6, 2014 Vi mais alguns erros no código 1- curl_setopt deve vir antes de curl_exec 2- No código está faltando acessar a URL para verificar o IP Tente isto (cheque se o PHP do seu servidor foi compilado com cURL SSL, se não deve usar somente http): <?php $username="*******@***********"; $password="***********"; $url="https://www.senderscore.org/"; $cookie="cookie.txt"; $postdata = 'email='.$username.'&password='.$password.'&Submit=Sign+in&action=localLogin'; $ch = curl_init(); curl_setopt ($ch, CURLOPT_URL, $url . "index.php"); curl_setopt ($ch, CURLOPT_SSL_VERIFYPEER, FALSE); curl_setopt ($ch, CURLOPT_SSL_VERIFYHOST, FALSE); curl_setopt ($ch, CURLOPT_USERAGENT, "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1.6) Gecko/20070725 Firefox/2.0.0.6"); curl_setopt ($ch, CURLOPT_TIMEOUT, 60); curl_setopt ($ch, CURLOPT_FOLLOWLOCATION, 1); curl_setopt ($ch, CURLOPT_RETURNTRANSFER, 1); curl_setopt ($ch, CURLOPT_COOKIEJAR, $cookie); curl_setopt ($ch, CURLOPT_AUTOREFERER, TRUE); curl_setopt ($ch, CURLOPT_POSTFIELDS, $postdata); curl_setopt ($ch, CURLOPT_POST, 1); echo curl_exec ($ch); curl_setopt ($ch, CURLOPT_URL, 'https://www.senderscore.org/lookup.php?lookup=5.39.116.51'); curl_setopt ($ch, CURLOPT_COOKIEFILE, $cookie); echo curl_exec ($ch); curl_close($ch); ?> Não há bem nem mal que dure para sempre. Um dia tudo acaba.
abobre Postado Março 7, 2014 Autor Postado Março 7, 2014 Bom dia @Jaime ! O código postando não funcionou 100%, mas ajudou e muito, eu comentei o primeiro echo e após o login ele direcionou para a URL https://www.senderscore.org/lookup.php?lookup=5.39.116.51 e continuou logado ! Obrigado cara, você me ajudou bastante !
Posts Recomendados