Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: 411 Content-Length error

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


 Страниц (1): [1]   

> Описание: From google
propostaff
Отправлено: 28 Февраля, 2012 - 08:07:13
Post Id


Новичок


Покинул форум
Сообщений всего: 6
Дата рег-ции: Февр. 2012  


Помог: 0 раз(а)




Здравствуйте. НЕ могу понять в чем суть ошибки. На stackoverflow тоже не могут помочь, в гугле нету подходящих ответов. Вот есть участок кода

PHP:
скопировать код в буфер обмена
  1.  
  2. $authToken = getAuthorizationToken();
  3.         $xml_data = '<Batch>
  4.     <Add>
  5.    <Promotions>
  6.      <Promotion id="0001"
  7.                 queries="american born chinese, American Born Chinese, abc, ABC"
  8.                 title="American Born Chinese"
  9.                 url="http://books.google.com/books?id=vawdZyrDw64C"
  10.                 description="Graphic novel. First-person account of growing up Asian American by Gene Luen Yang."
  11.                 image_url="http://146.74.224.231/archives/Gene%20Yang.jpg" /></Promotions>
  12.                 <Promotion queries="wanderer, the wanderer"
  13.                 title="Groo the Wanderer"
  14.                 url="http://www.groo.com/"
  15.                 description="Comedy. American series illustrated by Sergio Aragones."
  16.                 image_url="http://www.newsfromme.com/images5/groo11.jpg" />
  17.     </Promotions>
  18.  </Add>
  19. </Batch>';
  20.         $ch = curl_init("http://www.google.com/cse/api/default/promotions/pe0dnd27zuc");
  21.         $header = array();
  22.         $header[] = 'Authorization: GoogleLogin auth=' . $authToken;
  23.         $header[] = 'Content-Type: text/xml';
  24.         curl_setopt($ch, CURLOPT_HTTPHEADER, $header);
  25.         curl_setopt($ch, CURLOPT_POST, 1);
  26.         curl_setopt($ch, CURLOPT_POSTFIELDS, trim($xml_data));
  27.         $result = curl_exec($ch);
  28.         $code = curl_getinfo($ch, CURLINFO_HTTP_CODE);
  29.         curl_close($ch);
  30.  


Но гугл выдает ошибку 411. That’s an error. POST requests require a Content-length header. That’s all we know.

Вставка Content-Length в хедер не помогает, всеравно курл и сам эту инфу вставляет в хедер. В общем как решить проблему??
 
 Top
Мелкий Супермодератор
Отправлено: 28 Февраля, 2012 - 08:50:15
Post Id



Активный участник


Покинул форум
Сообщений всего: 11926
Дата рег-ции: Июль 2009  
Откуда: Россия, Санкт-Петербург


Помог: 618 раз(а)




Попробуйте сокетами выслать запрос.


-----
PostgreSQL DBA
 
 Top
propostaff
Отправлено: 28 Февраля, 2012 - 09:08:21
Post Id


Новичок


Покинул форум
Сообщений всего: 6
Дата рег-ции: Февр. 2012  


Помог: 0 раз(а)




Решение нашлось неожиданно. При парсинге $authtoken в конце ставился \n
И из-за этого сбивался хедер и гугл не видел content-length, который автоматом дописывал курл.
Решение - $authToken = trim(getAuthorizationToken());

Всем спасибо.


для поисковиков:
Http error 411 POST requests require a Content-length header
Решение проблемы 411 content-length error
ошибка 411 Google CSE
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Работа с сетью »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB