zapytanie do webapi z basic auth - curl

Odpowiedz Nowy wątek
2013-12-12 22:52
0

Witajcie.

Właśnie próbuję przeredagować zapytanie z curl'a w terminalu: curl -u "user:passwd" https://api.github.com/authorizations

Zrobiłem coś takiego:

$url = 'https://api.github.com/authorizations/';
    $ch = curl_init($url);

    curl_setopt($ch, CURLOPT_HTTPAUTH, CURLAUTH_ANY);  
    curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "POST");
    curl_setopt($ch, CURLOPT_HTTPHEADER, array('Content-Type: application/json')); 
    curl_setopt($ch, CURLOPT_USERAGENT, "Agent");
    curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 1);
    curl_setopt($ch, CURLOPT_USERPWD, "user:passwd");
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
    curl_setopt($ch, CURLOPT_HEADER, true);
    curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true);

    $content = curl_exec($ch);
    curl_close($ch);

Niestety nie działa.

Mam dla porównania zapytanie w pythonie, które działa znakomicie:

GITHUB_API = 'https://api.github.com'
           url = urljoin(GITHUB_API, 'authorizations')
            payload = {}
            res = requests.post(
                url,
                auth = (username, password),
                data = json.dumps(payload),
                )    
            j = json.loads(res.text) 

Macie pomysł jak to ma wyglądać?


Power off
edytowany 2x, ostatnio: dzek69, 2013-12-17 08:45

Pozostało 580 znaków

2013-12-12 23:57

Co to znaczy "nie działa"?

Adres, który masz w kodzie zwraca mi 404, a nie 401 (ale to może tak skonfigurowane po prostu)

Spróbuj też zamienić USERPWD na:
curl_setopt($data, CURLOPT_HTTPHEADER, "Authorization: Basic " . base64_encode($username . ":" . $password));


Pozostało 580 znaków

2013-12-13 00:45
0

Dzięki właśnie o to chodziło :) Teraz dostaję poprawną odpowiedź.


Power off
jeżeli post rozwiązuje Twój problem to kliknij ikonkę "fajki": http://i.imgur.com/Ypb8Xrk.png - dzek69 2013-12-13 08:42
@madmike: klepnij, bo oczywiście gościu wpadł i już tu nie zajrzy dopóki nie będzie miał następnego problemu :( - dzek69 2013-12-14 21:29
spokojnie - może nie jestem najczęściej na forum, ale staram się wchodzić co jakiś czas i przeglądać interesujące mnie rzeczy. O zacheckowaniu najzwyczajniej zapomniałem. Dzięki jeszcze raz, bo trzeba przyznać że jest to forum gdzie większość moich problemów jest w stanie się rozwiać ;) - Matixos 2013-12-17 00:49

Pozostało 580 znaków

Odpowiedz
Liczba odpowiedzi na stronę

1 użytkowników online, w tym zalogowanych: 0, gości: 1, botów: 0