Правила     Закладки     Карма    Календарь    Журналы    Помощь    Поиск    PDA    Чат   
        СМС-ки
   
Пейджер выключен!
 
Фильтр авторов:    показать 
  скрыть
  Ответ в темуСоздание новой темыСоздание опроса

> Передача русских символов в форму через CURL
ralf  
 ۩  [x] Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Новичок
*

Профиль
Группа: Пользователь
Сообщений: 9
Пользователь №: 37550
На форуме: 11 лет, 9 месяцев, 19 дней
Карма:




При заполнении Google формы с помощью CURL не передаются русские символы. Например при выполнении кода ниже в поле category будут записаны только "_test" вместо "тест_test". Пробовал перекодировать через iconv, не помогло. Есть идеи?
<?php
$name = "name1";
$category = "тест_test";
$category=iconv("cp1251","utf-8",$category);
$image = "image1";
$description = "description1";
// Создаем подключение
if( $curl = curl_init() ){

// Задаем ссылку
curl_setopt($curl,CURLOPT_URL,'https://docs.google.com/forms/d/15U0zCAAblPxTZLa8vMoHSXRwJLUjpmd3AwmhvRSDy_s/formResponse');

// Нужно помнить кукисы!
curl_setopt($curl, CURLOPT_COOKIESESSION, TRUE);
curl_setopt($curl, CURLOPT_COOKIEFILE, "cookiefile");

// Скачанные данные не выводить поток
curl_setopt($curl,CURLOPT_RETURNTRANSFER,true);

// Активируем GZIP сжатие трафика
curl_setopt($curl,CURLOPT_ENCODING,'gzip,deflate');

// напишем в юзер-агент неправду
curl_setopt($curl,CURLOPT_USERAGENT,'Mozilla/4.0 (compatible; MSIE 5.01; Windows NT 5.0)');

// Нужно вывести http заголовки в массив
curl_setopt($curl,CURLOPT_HEADER,true);

// Если все ок, в $html вернется html код главной страницы
if( $html = curl_exec($curl) ){

// Указываем куда отправлять запрос
curl_setopt($curl,CURLOPT_URL,'https://docs.google.com/forms/d/15U0zCAAblPxTZLa8vMoHSXRwJLUjpmd3AwmhvRSDy_s/formResponse');

// Указываем подключению, что слать нужно не GET (по умолчанию), а POST запросы
curl_setopt($curl,CURLOPT_POST,TRUE);

// Указываем, что именно отправлять в POST данных, на этой стадии происходит ввод логина/пароля
curl_setopt($curl,CURLOPT_POSTFIELDS,"entry.1243554843=$name&entry.1359298278=$category&entry.228695742=$image&entry.1784795327=$description&submit=ok");

// Скачиваем
$out = curl_exec($curl);

// Показываем скачанные данные
echo $out;

}
// Закрываем соединение
curl_close($curl);
}

?>
PMПисьмо на e-mail пользователю
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
forza  
Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Здесь живет
******

Профиль
Группа: Форумчанин
Завсегдатай форума
Сообщений: 406
Пользователь №: 23841
На форуме: 14 лет, 6 месяцев, 12 дней
Карма: 22




Попробуйте $category обернуть в rawurlencode() без iconv()


--------------------
Заработок для веб-разработчиков: CodeCanyon
Мое Портфолио
PMПисьмо на e-mail пользователю
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
ralf  
 ۩  Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Новичок
*

Профиль
Группа: Пользователь
Сообщений: 9
Пользователь №: 37550
На форуме: 11 лет, 9 месяцев, 19 дней
Карма:




Все заработало. Спасибо.
PMПисьмо на e-mail пользователю
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
  Быстрый ответ
Информация о Госте
Введите Ваше имя
Кнопки кодов
Для вставки цитаты, выделите нужный текст и
НАЖМИТЕ СЮДА
Введите сообщение
Смайлики
:huh:  :o  ;) 
:P  :D  :lol: 
B)  :rolleyes:  <_< 
:)  :angry:  :( 
:unsure:  :blink:  :ph34r: 
     
Показать всё

Опции сообщения  Включить смайлики?
 Включить подпись?
 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:

Опции темы Ответ в темуСоздание новой темыСоздание опроса