Ir para conteúdo
Fórum Script Brasil
  • 0

Problema com cURL


Knet

Pergunta

tenho um formulário onde pego os dados a serem enviados pela url via get e já faz o submit no carregamento, após isso a url muda para o action retornando um script json
preciso capturar esse json más n sei como fazer isso, tentei cURL e n funcionou, o form n pode ser enviado pelo cURL pois o action bloqueia.

segue um link de exemplo http://goo.gl/hx4PXY ( encurtei só pra postagem aqui )

Link para o comentário
Compartilhar em outros sites

11 respostass a esta questão

Posts Recomendados

  • 0

n funciona, faz o teste
quando roda o script em vez de imprimir a pagina na tela ela muda pra pagina do action do form me impossibilitando de capturar o json

$Keygen = array(
'id' => '448357',
'tk' => '0EkQyV2bT87tXKMN2Jt0VqwHsvyx4q056wDnlH-Pqrye8XKdMqobNJf6E-xZp8hrMkRrmpS-q--p7GCwbesINAQJhfY1'
);
$cURL = curl_init();
curl_setopt( $cURL, CURLOPT_URL, 'http://www.netfreex.com.br/play/unlook/' );
curl_setopt( $cURL, CURLOPT_POST, true );
curl_setopt( $cURL, CURLOPT_HEADER, false );
curl_setopt( $cURL, CURLOPT_FOLLOWLOCATION, true);
curl_setopt( $cURL, CURLOPT_RETURNTRANSFER, true);
curl_setopt( $cURL, CURLOPT_FAILONERROR, false);
curl_setopt( $cURL, CURLOPT_CONNECTTIMEOUT, 0);
curl_setopt( $cURL, CURLOPT_USERAGENT, 'Mozilla/5.0 (Windows NT 6.2) AppleWebKit/536.6 (KHTML, like Gecko) Chrome/20.0.1090.0 Safari/536.6');
curl_setopt( $cURL, CURLOPT_POSTFIELDS, $Keygen );
$Keygen = curl_exec($cURL);
//$Keygen = json_decode($Keygen);
//$Keygen = $Keygen->DownloadUrl;
echo $Keygen;
curl_close($cURL);

dá uma olhada aqui como acontece http://drive.netfreex.com.br/

Editado por Knet
Link para o comentário
Compartilhar em outros sites

  • 0

o que eu preciso é justamento do retorno após o redirecionamento, 

Curl  > Form > Retorno

o curl envia dados para o form q reenvia esses dados para o servidor, o que preciso carregar é justamente do retorno desse servidor.

enviar o form diretamente n rola porque fica dando access denied na url retornada no json, dessa forma q eu fiz o url retornado é valido más n carrega dentro da minha pagina me impossibilitando de manipular as informações ali contidas.

Link para o comentário
Compartilhar em outros sites

  • 0
<?php
//--------------------------------------------------------------------------------------------------------------------------------------------------------------------------
$URL = "http://copiapop.com/NetFreeX/destaque-43575/supernaturals11e13,448357,gallery,1,1.mp4";
//--------------------------------------------------------------------------------------------------------------------------------------------------------------------------
$cURL = curl_init();
curl_setopt( $cURL, CURLOPT_URL, $URL);
curl_setopt( $cURL, CURLOPT_RETURNTRANSFER, 1);
curl_setopt( $cURL, CURLOPT_CONNECTTIMEOUT, 0);
curl_setopt( $cURL, CURLOPT_HEADER, 0 );
curl_setopt( $cURL, CURLOPT_USERAGENT, 'Mozilla/5.0 (Windows NT 6.2) AppleWebKit/536.6 (KHTML, like Gecko) Chrome/20.0.1090.0 Safari/536.6');
preg_match( '@<div class="download_container">(.*)(free download)@s', curl_exec($cURL), $Return );
$Value = explode('"', $Return[0]);
$Value = array_filter($Value, function ($var) { return (stripos($var, '/') === false); });
$Value = array_filter($Value, function ($var) { return (stripos($var, '>') === false); });
$Value = array_filter($Value, function ($var) { return (stripos($var, '=') === false); });
$Value = array_filter($Value, function ($var) { return (stripos($var, 'download') === false); });
$Value = array_filter($Value, function ($var) { return (stripos($var, 'POST') === false); });
$Value = array_filter($Value, function ($var) { return (stripos($var, 'df') === false); });
$Value = array_filter($Value, function ($var) { return (stripos($var, 'fileId') === false); });
$Value = array_filter($Value, function ($var) { return (stripos($var, 'hidden') === false); });
$Value = array_filter($Value, function ($var) { return (stripos($var, '__') === false); });
$Value = array_filter($Value, function ($var) { return (stripos($var, 'submit') === false); });
$Value = array_filter($Value, function ($var) { return (stripos($var, 'Descarga') === false); });
$Value = array_values($Value);
$Keygen = array('fileId' => $Value[0],'__RequestVerificationToken' => $Value[1]);
curl_setopt( $cURL, CURLOPT_URL, 'http://copiapop.com/action/DownloadFile?location=gi&f='.$Value[0].'' );
curl_setopt( $cURL, CURLOPT_POST, true );
curl_setopt( $cURL, CURLOPT_POSTFIELDS, $Keygen );
$Keygen = curl_exec ($cURL) or die (curl_error($cURL));
$Keygen = json_decode($Keygen);
$Keygen = $Keygen->DownloadUrl;
curl_close($cURL);
echo $Keygen;
//--------------------------------------------------------------------------------------------------------------------------------------------------------------------------
?>

se rodo localmente o link retornado quando jogado no navegador inicia o download do arquivo, se hospedo o link retornado fica dando access denied
http://drive.netfreex.com.br/
Sem título.png

Link para o comentário
Compartilhar em outros sites

  • 0

não é isso, já tentei todo tipo de referer diferente inclusive o domínio do próprio site, existe um bloqueio só n sei qual, o interessante é que n funciona somente em php, tentei também fazer em ajax e n funcionou, já se faço como abaixo em html funciona.

existe alguma forma de descobrir que o form está sendo requisitado por cURL, js, etc ?

 

<?php
//-----------------------------------------------------------------------------
$ID = $_REQUEST['id'];
$TK = $_REQUEST['tk'];
$ON = "http://copiapop.com/action/DownloadFile?location=fi&f=".$ID;
//-----------------------------------------------------------------------------
?>
<form id="NetFreeX" action="<?php echo $ON;?>" method="POST">
<input name="fileId" value="<?php echo $ID;?>" type="hidden">
<input name="__RequestVerificationToken" value="<?php echo $TK;?>" type="hidden">
<script>document.getElementById("NetFreeX").submit();</script>
</form>

 

Link para o comentário
Compartilhar em outros sites

  • 0

ta me retornando isso cara, dá um help ai q sei como fazer daqui pra frente n
 

HTTP/1.1 100 Continue

HTTP/1.1 200 OK
Cache-Control: private,no-transform
Content-Type: application/json; charset=utf-8
Server: Microsoft-IIS/7.5
Set-Cookie: ASP.NET_SessionId_v2=jqsdds02lnp2w14nhvytchrn; path=/; HttpOnly
X-AspNetMvc-Version: 5.2
X-AspNet-Version: 4.0.30319
X-Powered-By: ASP.NET
X-Frame-Options: SAMEORIGIN
Date: Thu, 14 Jul 2016 18:57:52 GMT
Content-Length: 1231

 

Link para o comentário
Compartilhar em outros sites

  • 0
Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,1k
    • Posts
      651,8k
×
×
  • Criar Novo...