![]() |
![]() ![]() |
![]() |
![]()
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:
![]() 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 |
|
|
![]()
Post
#2
|
|
![]() Grupa: Zarejestrowani Postów: 915 Pomógł: 210 Dołączył: 8.09.2009 Skąd: Tomaszów Lubelski/Wrocław Ostrzeżenie: (0%) ![]() ![]() |
Prawdopodobnie auth to nie "basic" ale np "digest".
Spróbój ustawić CURLOPT_HTTPAUTH na CURLAUTH_DIGEST (albo CURLAUTH_ANY) https://secure.php.net/manual/pl/function.curl-setopt.php Ten post edytował redeemer 16.04.2016, 11:19:45 -------------------- |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 6 Pomógł: 0 Dołączył: 16.04.2016 Ostrzeżenie: (0%) ![]() ![]() |
Prawdopodobnie auth to nie "basic" ale np "digest". Spróbój ustawić CURLOPT_HTTPAUTH na CURLAUTH_DIGEST (albo CURLAUTH_ANY) https://secure.php.net/manual/pl/function.curl-setopt.php Jak pisałem wcześniej sprawdzałem chyba wszystkie możliwe metody: CURLAUTH_ANY CURLAUTH_ANYSAFE CURLAUTH_BASIC CURLAUTH_DIGEST CURLAUTH_DIGEST_IE CURLAUTH_GSSNEGOTIATE CURLAUTH_NONE CURLAUTH_NTLM CURLAUTH_ONLY |
|
|
![]()
Post
#4
|
|
![]() Grupa: Zarejestrowani Postów: 915 Pomógł: 210 Dołączył: 8.09.2009 Skąd: Tomaszów Lubelski/Wrocław Ostrzeżenie: (0%) ![]() ![]() |
Cytat ... Q: Authentication does not work when trying to authenticate via my own program/library xy. A: Make sure that your program/library uses digest authentication and NOT basic authentication. Wget also seems to have it's bugs with digest authentication so use curl instead. An example usage of curl is curl --verbose --digest -u <user>:<password> "http://user:password@myserver.dyndns.org:12345/oscamapi.html?part=status" http://www.streamboard.tv/oscam/wiki/WebIf -------------------- |
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 6 Pomógł: 0 Dołączył: 16.04.2016 Ostrzeżenie: (0%) ![]() ![]() |
curl --verbose --digest -u <user>:<password> "http://user:password@myserver.dyndns.org:12345/oscamapi.html?part=status" Kod $ch = curl_init(); curl_setopt($ch,CURLOPT_URL,'http://user:password@host/oscamapi.html?part=status'); curl_setopt($ch,CURLOPT_RETURNTRANSFER,true); curl_setopt($ch, CURLOPT_HTTPAUTH, CURLAUTH_DIGEST); $output=curl_exec($ch); curl_close($ch); echo $output; Dalej to samo |
|
|
![]()
Post
#6
|
|
![]() Grupa: Zarejestrowani Postów: 915 Pomógł: 210 Dołączył: 8.09.2009 Skąd: Tomaszów Lubelski/Wrocław Ostrzeżenie: (0%) ![]() ![]() |
Hm, no to ciężko zdiagnozować to "na odległość". Co curl (ten z cli i z --verbose) wypluwa? Czy login/hasło w konfiguracji webif na oscam nie ma jakiś dziwnych znaków?
Ten post edytował redeemer 16.04.2016, 12:03:37 -------------------- |
|
|
![]()
Post
#7
|
|
Grupa: Zarejestrowani Postów: 6 Pomógł: 0 Dołączył: 16.04.2016 Ostrzeżenie: (0%) ![]() ![]() |
|
|
|
![]()
Post
#8
|
|
![]() Grupa: Zarejestrowani Postów: 915 Pomógł: 210 Dołączył: 8.09.2009 Skąd: Tomaszów Lubelski/Wrocław Ostrzeżenie: (0%) ![]() ![]() |
Nie za bardzo rozumiem ![]() Kod curl --verbose --digest -u <user>:<password> "http://user:password@myserver.dyndns.org:12345/oscamapi.html?part=status" To jest zwykle polecenie, które wklepujesz w terminal (linux/osx/bsd/etc, na windowsie nie wiem jak z curlem). Po wpisaniu dostaniesz zwrotke i curl wyświetli dokładnie co się dzieje (flaga --verbose).A takie coś? (ewentualnie można jeszcze sprawdzić CURLOPT_URL bez login i pass) -------------------- |
|
|
![]()
Post
#9
|
|
Grupa: Zarejestrowani Postów: 6 Pomógł: 0 Dołączył: 16.04.2016 Ostrzeżenie: (0%) ![]() ![]() |
A takie coś? (ewentualnie można jeszcze sprawdzić CURLOPT_URL bez login i pass) dalej nic ;( a na linuxie działa, zwraca kod strony . Kod curl --digest "http://user:password@host/" Witam ponownie, dalej się z tym mecze więc postawiłem testowy serwer pod adresem 83.30.252.156:1234, login root hasło root, może komuś się uda zalogować przez CURL, był bym wdzięczny za pomoc. |
|
|
![]()
Post
#10
|
|
Grupa: Zarejestrowani Postów: 1 240 Pomógł: 278 Dołączył: 11.03.2008 Ostrzeżenie: (0%) ![]() ![]() |
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 -------------------- |
|
|
![]()
Post
#11
|
|
![]() Grupa: Zarejestrowani Postów: 531 Pomógł: 55 Dołączył: 3.01.2016 Skąd: Łowicz Ostrzeżenie: (0%) ![]() ![]() |
a to moje rozwiązanie
-------------------- Szukam zleceń Symfony, Laravel, Back-End, Front-End, PHP, MySQL ...
|
|
|
![]()
Post
#12
|
|
Grupa: Zarejestrowani Postów: 6 Pomógł: 0 Dołączył: 16.04.2016 Ostrzeżenie: (0%) ![]() ![]() |
Panowie w obu przypadkach zwraca mi coś takiego
Kod TTP/1.0 401 Unauthorized Server: webserver/1.0 Date: Sat, 07 May 2016 06:34:10 GMT WWW-Authenticate: Digest algorithm="MD5", realm="Forbidden", qop="auth", opaque="72fa9e76ec765ad2407da3c88ee6e460", nonce="8c19fc7db51115405ff02125f85b6822" Content-Type: text/html Cache-Control: no-store, no-cache, must-revalidate Expires: Sat, 10 Jan 2000 05:00:00 GMT Content-Length: 15 Last-Modified: Sat, 07 May 2016 06:34:10 GMT ETag: "753868328" Connection: close Access denied. Serwer stoi teraz na tym adresie "83.30.248.233:1234" Dobra znalazłem gdzie tkwi problem, chodzi o windowsowskiego xampp'a, coś jest nie tak z nim albo z jego configami bo na apache2 z php na debiania działa mi poprawnie. Ktoś może pomoc mi z konfiguracją tego php w xammp ![]() Niby jest dodany plugin CURL do php ![]() Ktoś ma jakiś pomysł ![]() Ten post edytował Gaths 7.05.2016, 07:45:02 |
|
|
![]()
Post
#13
|
|
![]() Grupa: Zarejestrowani Postów: 531 Pomógł: 55 Dołączył: 3.01.2016 Skąd: Łowicz Ostrzeżenie: (0%) ![]() ![]() |
A co pokazują logi dostępu i błędów w momencie kiedy Tu się logujesz ?
-------------------- Szukam zleceń Symfony, Laravel, Back-End, Front-End, PHP, MySQL ...
|
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 3.05.2025 - 04:05 |