Правильный способ установить заголовок OAuth-авторизации? - PullRequest
1 голос
/ 27 сентября 2011

Я хочу установить заголовок запроса для URL-адреса xyz.com, это правильный способ установить его в php?

header('Authorization: AuthSub token="xxxxxx"');
header('location:https://www.google.com/accounts/AuthSubRevokeToken');

Я пытаюсь установить заголовок для этого URL-адреса для вызова.Но заголовок Authorization: AuthSub не отображается в разделе заголовков запросов на панели FireFox NET. Что используется для отображения запросов.

Есть идеи по этому поводу?Спасибо.

Раньше я использовал curl, но он, похоже, не выдавал ни одного запроса, поскольку я не вижу его на панели NET FireFox.Код выглядит следующим образом:

$curl = curl_init(); 

    curl_setopt($curl, CURLOPT_URL,"https://www.google.com/accounts/AuthSubRevokeToken"); 
    curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
    curl_setopt($curl, CURLOPT_FAILONERROR, true);
    curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, false);   
    curl_setopt($curl, CURLOPT_HTTPHEADER, array('Authorization: AuthSub token="1/xxx"'
                    )); 
    $result = curl_exec($curl);  
    curl_close($curl);            
    echo 'hererer'.$result;exit; 

Ответы [ 3 ]

1 голос
/ 27 сентября 2011

Имена и значения заголовка должны быть разделены одним двоеточием и пробелом, поэтому расположение "заголовка" просто неверно, оно должно быть:

header('Location: https://www.google.com/accounts/AuthSubRevokeToken');

(тоже так часто пишут дела, но не нужно)

Рядом с этим функция header устанавливает заголовки ответа, а не заголовки запроса. Таким образом, вы в основном используете неправильный инструмент.

В PHP вы не можете устанавливать заголовки запросов, это часть клиента (например, браузера), а не сервера. Так что header просто выглядит здесь не так. Какой HTTP-клиент вы используете?

1 голос
/ 27 сентября 2011

Вызов, как при использовании CURL для запроса другой страницы? Функция header () применяется только для связи через веб-браузер <-> с сервером. Он не может повлиять на запросы вашего серверного скрипта к другим веб-серверам. Для этого вам нужно изменить конкретный метод, который вы используете, например, локон или ручьи.

См. См. CURLOPT_HTTPHEADER здесь: http://php.net/curl_setopt

1 голос
/ 27 сентября 2011

header устанавливает заголовки ответа, а не заголовки запроса. (Если вы пытаетесь отправить HTTP-запрос в другое место, это не будет иметь никакого эффекта.)

Обратите также внимание на то, что говорится в руководстве о Remember that header() must be called before any actual output is sent, ....

И включите error_reporting(E_ALL); перед использованием header(), чтобы увидеть, является ли это проблемой для вас.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...