Я использую php-curl-класс Мне нравится проверять правильность данных для входа. Область загрузки защищена htaccess, и если данные для входа верны, загрузка начнется. Если данные для входа неверны, загрузка не начинается, но я получаю HttpStatusCode 200! Ее мой полный код, извините, если моего описания недостаточно, но что еще нужно объяснить?
$HttpStatusCode = false;
$curl->setBasicAuthentication(user, pw);
if ($curl->getHttpStatusCode() !== '401') {
$tmpfile = $_GET['vers'];
$tmppath = $_GET['path'].'/';
$curl->download(DOWNLOAD_PATH.$tmppath.$tmpfile, function ($instance, $tmpfile) {
$save_to_path = FS_UPDATES . basename($instance->url);
$fh = fopen($save_to_path, 'wb');
stream_copy_to_stream($tmpfile, $fh);
fclose($fh);
});
$curl->close;
} else {
$HttpStatusCode = true;
}
Я получаю все время HttpStatusCode 200! Загрузка начинается только в том случае, если данные для входа верны. Это нормально, но как проверить, что логин неправильный? Я был бы очень признателен, если бы кто-нибудь мог мне помочь, потому что примеры мне не помогли.
Заранее спасибо!!
хороший ответ, спасибо!
Похоже, ваша настройка/реализация HTTP-аутентификации может быть неправильной с самого начала. Вы не должны получать 200 с сервера, если учетные данные не совпадают.






Хорошо, спасибо всем за лайки. Теперь я сам нахожу решение. ;-) Это все время: "99,9% жуков сидят за компом" ;-) В данном случае Я!!! ;-) Итак, вот решение, может быть, кому-то это нужно! Теперь я получаю код состояния "401"!
$tmpfile = $_GET['vers'];
$tmppath = $_GET['path'];
$curl->setBasicAuthentication(user, pw);
$curl->get(DOWNLOAD_PATH.$tmppath.'/'.$tmpfile);
$HttpStatusCode = true;
if ($curl->getHttpStatusCode() !== '401') { $HttpStatusCode = false;
$curl->download(DOWNLOAD_PATH.$tmppath.'/'.$tmpfile, function ($instance, $tmpfile) {
$save_to_path = DIR_UPDATES . basename($instance->url);
$fh = fopen($save_to_path, 'wb');
stream_copy_to_stream($tmpfile, $fh);
fclose($fh);
});
}
$curl->close;
but nothing works.но вы получаетеHttpStatusCode 200- пожалуйста, будьте немного более описательными в отношении того, что происходит и чего не происходит на самом деле, и добавляйте соответствующий код, а не просто ссылки на внешнюю библиотеку.