Получение POST-запросов требует ответа заголовка Content-length (ошибка 411) - PullRequest
1 голос
/ 28 сентября 2011

Я пытался загрузить видео на видео на свой канал, используя мой собственный код. Во время одного шага, когда я пытаюсь загрузить метаданные видео на вашу трубку, чтобы получить токен и URL для загрузки видео, я получаю

Для запросов POST требуется заголовок Content-length. Это все, что мы знаем. (411)

Мой код выглядит следующим образом:

$xml = '<?xml version="1.0"?>
              <entry xmlns="http://www.w3.org/2005/Atom"
                xmlns:media="http://search.yahoo.com/mrss/"
                xmlns:yt="http://gdata.youtube.com/schemas/2007">
                <media:group>
                  <media:title type="plain">Video.loc</media:title>
                  <media:description type="plain">
                    Video.loc first vid
                  </media:description>
                  <media:category
                    scheme="http://gdata.youtube.com/schemas/2007/categories.cat">People
                  </media:category>
                  <media:keywords>Video.loc</media:keywords>
                </media:group>
              </entry>';
    $headers = array('Authorization: AuthSub token="'.$_SESSION['AuthSubSessToken'],
                      'GData-Version: 2',
                     'X-GData-Key: key='.$key,
                     'Content-length:'.strlen($xml),
                     'Content-Type:application/atom+xml; charset=UTF-8'
                );
      $curl = curl_init('http://gdata.youtube.com/action/GetUploadToken');

              curl_setopt($curl, CURLOPT_HTTPHEADER,$headers);
              curl_setopt($curl, CURLOPT_POSTFIELDS, $xml);
              curl_setopt($curl, CURLOPT_HEADER, 0);
              $response = simplexml_load_string(curl_exec($curl));                                 
              $response = curl_exec($curl);

              $arrToken = explode('=',$response);
              print('<pre>');print_r($arrToken);die();
              curl_close($curl)

Кто-нибудь знает, что если это ошибка на моей стороне или в Google?.

С уважением Химаншу Шарма

1 Ответ

2 голосов
/ 30 сентября 2011

Вы пропускаете закрывающее " после

  AuthSub token="'.$_SESSION['AuthSubSessToken'],

, которое может испортить заголовки.

...