Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Скриптовые языки программирования > PHP
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 14.12.2021, 16:35   #1
Krasi
Форумчанин
 
Регистрация: 12.02.2010
Сообщений: 787
По умолчанию PHP - Как передать данные в форму и нажать отправить

Простой вопрос, но давно не делал, что-то растерялся. https://textgears.com/check-grammar-online
Тут можно вставить текст и нажать отправить, а сайт вернет ответ, который охота спарсить. Мне понадобилось делать именно так, потому что один и тот же текст этот сервис не хочет анализировать через API, но анализирует через форму на сайте.

Как на PHP могу на этом ресурсе в форму вставить свой текст, отправить его и получить ответ от этого сайта, подскажите, пожалуйста
Krasi вне форума Ответить с цитированием
Старый 15.12.2021, 08:02   #2
ADSoft
Старожил
 
Регистрация: 25.02.2007
Сообщений: 4,158
По умолчанию

смотрите, куда и что отправляет сайт - то же самое повторяете..
например с помощью cURL
https://yadi.sk/d/J4cul2EDtmMLGw
ADSoft вне форума Ответить с цитированием
Старый 15.12.2021, 11:39   #3
Krasi
Форумчанин
 
Регистрация: 12.02.2010
Сообщений: 787
По умолчанию

У меня как раз были траблы с этим пост-запросом, почему то апи их целиком мою строку неуспешно обрабатывает, а когда копи-паст делаю в https://textgears.com/check-grammar-online, то все четко работает. Может быть там в строке какие-то специальные символы, которых при просмотре переменной не видно? Или же могу я все таки именно через эту страницу делать запрос? https://textgears.com/check-grammar-online То есть не обращаться к обработчику, а типа заполняю форму и жду Отправить в скрипте...?
Krasi вне форума Ответить с цитированием
Старый 15.12.2021, 16:42   #4
ADSoft
Старожил
 
Регистрация: 25.02.2007
Сообщений: 4,158
По умолчанию

Есть подозрения что вы что-то делаете не так)))
что конкретно не знаю...
скорее всего и по API все нормально работает
покажите как вы делаете
ADSoft вне форума Ответить с цитированием
Старый 18.12.2021, 21:30   #5
Krasi
Форумчанин
 
Регистрация: 12.02.2010
Сообщений: 787
По умолчанию

Надеялся что не дойдет до этого, но к лучшему, просто там много нюансов. Дело в том, что я вставлял большой текст на русском через GET запрос в апи, и все работало, как и через Postman. Проблема начинается, когда я начинаю вставлять раскрашенный с .rtf файла текст. Посмотрите Примеры .rtf на этой странице, вот первый файл я и прогоняю на ошибки через textgears API, предварительно получив из него текст: https://genervis.ru/all_dolj_instructions.php

Возможно, там есть специальные символы, но ответ от сервера я, отправляя этот текст, не получаю вообще вроде. Переносы строки я пробовал убирать с помощью str_replace, вроде дело не в них.

А запрос у меня вот такой:
Код:
$myimg = './rtfFiles/' . basename($_FILES['uploadfile']['name']); //Путь до файла
$mylink = basename($_FILES['uploadfile']['name']);  //Только название файла
move_uploaded_file($_FILES['uploadfile']['tmp_name'], $myimg);

$result = rtf2text($myimg);
Код:
$text_ru = 'Наименfование документа ИНСТРУКЦИЯ "АГЕНТА КОММЕРЧЕСКОГО" Вид документа ИНСТРУКЦИЯ Должностная инструкция АГЕНТ КОММЕРЧЕСКИЙ Оглавление ОБРАЗЕЦ ДОЛЖНОСТНОЙ ИНСТРУКЦИИ КОММЕРЧЕСКОЕ ПОСРЕДНИЧЕСТВО ТЕХНИЧЕСКИЕ ИСПОЛНИТЕЛИ Комментарии Текст документа ИНСТРУКЦИЯ АГЕНТА КОММЕРЧЕСКОГО ДОЛЖНОСТНАЯ ИНСТРУКЦИЯ УТВЕРЖДАЮ (орган юридического лица (учредители); 00.00.00 № 00 лицо, уполномоченное утверждать агента коммерческого должностную инструкцию) (подпись) (фамилия, инициалы) 00.00.00 г. I. Общие положения 1. Коммерческий агент относится к категории технических исполнителей. 2. На должность коммерческого агента назначается лицо, имеющее среднее профессиональное образование и специальная подготовка по установленной программе без предъявления требований к стажу работы. 3. Назначение на должность коммерческого агента и освобождение от нее производится приказом директора предприятия. 4. Коммерческий агент должен знать: 4.1. Нормативные правовые акты, положения, инструкции, другие руководящие материалы и документы, касающиеся ведения бизнеса. 4.2. Основы рыночной экономики. 4.3. Методы установления деловых контактов. 4.4. Порядок оформления документов, связанных с куплей-продажей товаров и заключением договоров, соглашений и контрактов на оказание услуг. 4.5. Основы трудового, финансового хозяйственного и налогового законодательства. 4.6. Действующие формы учета и отчетности. 4.7. Организацию погрузочно-разгрузочных работ. 4.8. Условия хранения и транспортировки товаров. 4.9. Правила внутреннего трудового распорядка. 4.10. Правила и нормы охраны труда. 4.11. . 5. Коммерческий агент подчиняется непосредственно . 6. На время отсутствия коммерческого агента (отпуск, болезнь, пр.) его обязанности исполняет лицо, назначенное в установленном порядке. Данное лицо приобретает соответствующие права и несет ответственность за надлежащее их исполнение. 7. . II. Должностные обязанности Коммерческий агент: 1. Участвует в работе по установлению необходимых деловых контактов между покупателями и продавцами товаров, включая техническую и другую продукцию (оборудование, сырье, полуфабрикаты и др.), а также оказанию различных коммерческих услуг. 2. Содействует покупке и продаже партий товаров (оптом), а также театральной, музыкальной и других видов творческой продукции (постановка представлений, выступление артистов, спортсменов, издание книг, запись музыкальных произведений и др.). 3. Обеспечивает надлежащее оформление заключаемых договоров и контрактов, других необходимых документов, в том числе страховых и экспортных лицензий. 4. Выполняет необходимую техническую работу при заключении соглашений, договоров и контрактов, размещении рекламы в средствах массовой информации. 5. Организует предоставление транспортных средств и обеспечение выполнения других условий, предусмотренных заключенными соглашениями, договорами и контрактами, оказывает помощь в доставке товаров. 6. . III. Права Коммерческий агент имеет право: 1. Знакомиться с проектами решений руководства предприятия, касающихся его деятельности. 2. Запрашивать лично или по поручению непосредственного руководителя от руководителей подразделений предприятия и специалистов информацию и документы, необходимые для выполнения его должностных обязанностей. 3. Вносить на рассмотрение руководства предложения по совершенствованию работы, связанной с предусмотренными настоящей инструкцией обязанностями. 4. В пределах своей компетенции сообщать своему непосредственному руководителю о всех выявленных в процессе своей деятельности недостатках и вносить предложения по их устранению. 5. Требовать от руководства предприятия оказания содействия в исполнении им его должностных обязанностей и прав. 6. . IV. Ответственность Коммерческий агент несет ответственность: 1. За ненадлежащее исполнение или неисполнение своих должностных обязанностей, предусмотренных настоящей должностной инструкцией - в пределах, определенных действующим трудовым законодательством Российской Федерации. 2. За правонарушения, совершенные в процессе осуществления своей деятельности - в пределах, определенных действующим административным, уголовным и гражданским законодательством Российской Федерации. 3. За причинение материального ущерба - в пределах, определенных действующим трудовым и гражданским законодательством Российской Федерации. 4. . Должностная инструкция разработана в соответствии с Руководитель структурного подразделения (подпись) (фамилия, инициалы) 00.00.00 СОГЛАСОВАНО: Начальник юридического отдела (подпись) (фамилия,инициалы) 00.00.00 С инструкцией ознакомлен: (подпись) (фамилия, инициалы) 00.00.00';
$text_ru2 = 'Ловите мой новый релиз! Meurch - Встреча неслучайна. История этого трека уходит в момент, где мы сводили демку... Как ни странно, но потом ни сам звукорежиссер, который меня записывал, ни другие специалисты не смогли свести этот трек так элегантно, воздушно. Я решил - а пускай таким воздушным он и останется, нечего тут больше придумывать, нежное утреннее или вечернее настроение с трепетным началом и завораживающим окончанием Вам обеспечено! Наконец-то, встречайте на цифровых музыкальных площадках!';


$text_ru4 = trim($text_ru);
$text_ru4   = trim($text_ru4, " \t\n\r");


echo("<br/><br/>");
echo($text_ru4);
echo("<br/><br/>");

$curl = curl_init();

curl_setopt_array($curl, array(
  CURLOPT_URL => 'https://api.textgears.com/grammar?key=MPfNWy4XciEYxhZZ&text='.$text_ru4.'!&language=ru-RU',
  CURLOPT_RETURNTRANSFER => true,
  CURLOPT_ENCODING => '',
  CURLOPT_MAXREDIRS => 10,
  CURLOPT_TIMEOUT => 0,
  CURLOPT_FOLLOWLOCATION => true,
  CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
  CURLOPT_CUSTOMREQUEST => 'GET',
));

$response = curl_exec($curl);

curl_close($curl);
$response = json_decode($response);
print_r($response);

die();
Вот в одном случае с одним текстом все работает, а с другим выдает пустоту. Снимок экрана 2021-12-18 в 21.35.17.jpg
При этом через страницу https://textgears.com/check-grammar-online все работает на ура.

Последний раз редактировалось Krasi; 18.12.2021 в 21:37.
Krasi вне форума Ответить с цитированием
Старый 18.12.2021, 22:31   #6
ADSoft
Старожил
 
Регистрация: 25.02.2007
Сообщений: 4,158
По умолчанию

Не знаю как вы там чего преобразует, но скорее всего криво... Делайте чистый текст и отправляйте
ADSoft вне форума Ответить с цитированием
Старый 19.12.2021, 22:40   #7
Krasi
Форумчанин
 
Регистрация: 12.02.2010
Сообщений: 787
По умолчанию

чистый всмысле подчистить и сюда? Вообще могу код скинуть, который открывает файл и затем работает с апи. Ну отдельно сделать и потестить, отправить сюда. Норм?
Krasi вне форума Ответить с цитированием
Старый 20.12.2021, 08:35   #8
ADSoft
Старожил
 
Регистрация: 25.02.2007
Сообщений: 4,158
По умолчанию

имеется ввиду, что непонятно - что делает функция rtf2text
ее не видно...

кроме того не поленитесь перевести вот это замечание к АПИ
Цитата:
UTF-8 encoded text. We recommend sending pure text without HTML tags and invalid UTF-8 characters. The maximum length is limited by the parameters of your billing plan.
ну и все-же с сайта они отправляют POST а не GET, попробуйте этим поиграться.... у GET и так ограничение есть на длину
Цитата:
Ограничения по длине данных. Да, при отправке данных метод Get добавляет данные в URL-адрес; и длина URL ограничена (максимальная длина URL составляет 2048 символов).

Последний раз редактировалось ADSoft; 20.12.2021 в 08:38.
ADSoft вне форума Ответить с цитированием
Старый 20.12.2021, 16:02   #9
Krasi
Форумчанин
 
Регистрация: 12.02.2010
Сообщений: 787
По умолчанию

Ну там проблема в том, что если отправить кусочек текста, он отправляется. А весь текст нет. Тут даже не так важна rtf2text, я в строчку вот записал, и одна строка обрабатывается АПИ, а другая - нет. У меня есть подозрение, что часть символов в итоге как не UTF8, но вот надо понять. А могу я попробовать как-то обработать текст, чтобы автоматически убрать запрещенные для API символы?
Krasi вне форума Ответить с цитированием
Старый 20.12.2021, 20:21   #10
ADSoft
Старожил
 
Регистрация: 25.02.2007
Сообщений: 4,158
По умолчанию

ну все это гадания на кофейной гуще.... какова длинна того текста что проходит и того что не проходит.... символы вполне могут быть... неизвестно что там у вас и как послается
ADSoft вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Передать данные в php, проблема. wmm PHP 0 03.10.2012 15:33
Как передать переменную в другую форму FACE OFF Помощь студентам 2 07.01.2011 11:32
Как отправить файл на сайт через форму? xaknik Работа с сетью в Delphi 0 31.08.2010 21:02
Как передать данные в MDIChild-форму, загруженную из dll Shvonder Общие вопросы Delphi 0 18.03.2009 12:46
как отправить и загрузить данные с сервера? proglamer Работа с сетью в Delphi 3 11.03.2008 07:54