Libcurl kullanıcı adı / parola kimlik doğrulaması ile yardıma ihtiyacınız

1 Cevap php

Ben bizim sunuculardan biri güvenli bir web sayfasına erişmek için çalışıyorum. Web sayfası, bir kullanıcı adı ve parola gerektiren bir. Htaccess korumalı bir dizin içinde olduğunu. Bu dosyaya erişebilir böylece kimlik doğrulama isteği göndermek için libcurl almaya çalışıyorum. Çeşitli yerlerde bazı rehberlik bulduktan sonra, ben çalışmak gerektiğine inanıyorum ne kadar geldim, ama öyle değil.

$url="https://www.myurl.com/htaccess_secured_directory/file.php";
$ch = curl_init($url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);    
curl_setopt($ch, CURLOPT_HTTPAUTH, CURLAUTH_BASIC); 
curl_setopt($ch, CURLOPT_USERPWD, 'myusername:mypassword');
$result = curl_exec($ch);
echo $result;

File.php dosyası sadece "Merhaba Dünya" yankı gerekir, ama $ sonuç değişkeni boş geliyor. Geri kıvrılma hata iletileri almak için bir yolu var mı? Ben yanlış bir şey yapıyorum? Ben de başarı olmadan CURLLAUTH_ALL kullandım, ama ben sadece zaten temel yetki var inanıyorum.

1 Cevap

curl_errno() kullanın ve curl_error() hata bilgilerini, yani almak için:

$url="https://www.myurl.com/htaccess_secured_directory/file.php";
$ch = curl_init($url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);    
curl_setopt($ch, CURLOPT_HTTPAUTH, CURLAUTH_BASIC); 
curl_setopt($ch, CURLOPT_USERPWD, 'myusername:mypassword');
$result = curl_exec($ch);

if(curl_errno($ch))
{
  echo 'Curl error: ' . curl_error($ch);
}
else
{    
  echo $result;
}

curl_close($ch);

Kullanılabilir hata kodları here belgelenmiştir.