Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> CURL i Basic Auth
Gaths
post
Post #1





Grupa: Zarejestrowani
Postów: 6
Pomógł: 0
Dołączył: 16.04.2016

Ostrzeżenie: (0%)
-----


Witam, chce zalogować się za pomocą php na Serwer OSCam, po wpisaniu adresu w przeglądarce wyskakuje mi owe okno:
(IMG:https://s24.postimg.org/pfyu4a9s1/Bez.png)

Wujek google powiedział mi że to Basic Auth czy jakoś tak, więc znalazłem sposób na zalogowanie się przy pomocy prostego Get Request poprzez wpisanie w pasku adresowym przeglądarki http://login:password@host i to działa, nie wyskakuje mi okienko logowania wchodzę na serwer . Zatem prosta sprawa
Kod
<?php
    $ch = curl_init();
    curl_setopt($ch,CURLOPT_URL,'http://login:password@host');
    curl_setopt($ch,CURLOPT_RETURNTRANSFER,true);
    $output=curl_exec($ch);
    curl_close($ch);
    echo $output;
?>


Niestety nie zadziałało, serwer odpowiedział "Access denied." nie wiem o co chodzi, testowałem chyba wszystkie możliwe zapytania za pomocą CURL które znalazłem w google, takie i tym podobne:
Kod
<?php
    $login = 'login';
    $password = 'password';
    $url = 'host';
    $ch = curl_init();
    curl_setopt($ch, CURLOPT_URL,$url);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER,1);
    curl_setopt($ch, CURLOPT_HTTPAUTH, CURLAUTH_BASIC);
    curl_setopt($ch, CURLOPT_USERPWD, "$login:$password");
    $result = curl_exec($ch);
    curl_close($ch);  
    echo($result);
?>


Nie wiedziałem co robię źle więc napisałem sobie prosty skrypt, aby sprawdzić czy w tym przypadku zadziała:
Kod
<?php

if($_SERVER['PHP_AUTH_USER'] !== 'root'  ||  $_SERVER['PHP_AUTH_PW'] !== 'root')
{
    header("WWW-Authenticate: Basic realm=\"thetutlage\"");
    header("HTTP\ 1.0 401 Unauthorized");
    echo  "error";
    exit;
}

?>

<html>
<head></head>
<body> ok </body>
</html>


I problem jest następujący, bo przy autoryzacji z testowym skryptem CURL dział i serwer daje odpowiedz "ok".
Czy ktos mi może pomuc zalogować się przez php do tego SOCam'a o bo mi się już wyczerpały pomysły
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
markuz
post
Post #2





Grupa: Zarejestrowani
Postów: 1 240
Pomógł: 278
Dołączył: 11.03.2008

Ostrzeżenie: (0%)
-----


  1. $ch = curl_init();
  2. curl_setopt_array($ch, array(
  3. CURLOPT_VERBOSE => true,
  4. CURLOPT_URL => '83.30.252.156',
  5. CURLOPT_PORT => '1234',
  6. CURLOPT_USERPWD => 'root:root',
  7. CURLOPT_HTTPAUTH => CURLAUTH_DIGEST,
  8. CURLOPT_NOBODY => true
  9. ));
  10.  
  11. curl_exec($ch);
  12.  
  13. curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
  14. curl_setopt($ch, CURLOPT_HEADER, 1);
  15. curl_setopt($ch, CURLOPT_HTTPGET, 1);
  16.  
  17. $output = curl_exec($ch);
  18. echo $output;


Musisz robić 2 requesty, 1 to autoryzacja a 2 to pobranie zawartości.
Źródło: http://stackoverflow.com/questions/1302672...b=votes#tab-top
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 15.10.2025 - 21:02