CURLOPT_FOLLOWLOCATION cannot be activated

前端 未结 2 393
你的背包
你的背包 2020-12-06 21:06

im having some problems with curls and i dont know how to solve them.

the idea is to get a user\'s username and pw and post it into an external webpage.

相关标签:
2条回答
  • 2020-12-06 21:22

    and too, you need do this: for access of pages using https protocols,you need change CURLOPT_SSL_VERIFYPEER to false.

    try this:

    curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
    
    0 讨论(0)
  • 2020-12-06 21:29

    That error means that your PHP configuration is prohibiting you from following the location. There are a few ways you could work around the problem without installing additional libraries as suggested by @mario.

    • If you own the server or have root access, you could change the php.ini file to disable "safe_mode".
    • You could also create a .htaccess file in your document root with php_value safe_mode off in it.
    • You may be able to add ini_set('safe_mode', false); in your PHP file.

    If none of the above works, you could also do something along these lines:

    $ch = curl_init('https://sso.uc.cl/cas/login?service=https://portaluc.puc.cl/uPortal/Login');
    
    curl_setopt($ch, CURLOPT_POST, TRUE);
    curl_setopt($ch, CURLOPT_POSTFIELDS, 'username=' . urlencode($usuario) . '&password=' . urlencode($pw));
    curl_setopt($ch, CURLOPT_FOLLOWLOCATION, FALSE);
    curl_setopt($ch, CURLOPT_NOBODY, TRUE);
    curl_setopt($ch, CURLOPT_HEADER, TRUE);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE);
    curl_setopt($ch, CURLOPT_COOKIEFILE, 'cookie.txt');
    curl_setopt($ch, CURLOPT_COOKIEJAR, 'cookie.txt');
    
    $result = curl_exec($ch);
    
    curl_close($ch);
    
    // Look to see if there's a location header.
    if ( ! empty($result) )
      if ( preg_match('/Location: (.+)/i', $result, $matches) )
      {
        // $matches[1] will contain the URL.
        // Perform another cURL request here to retrieve the content.
      }
    
    0 讨论(0)
提交回复
热议问题