Bing Spell Check API, перестает работать после 128 символов

Я пытаюсь использовать Bing Spell Check API v5, но у меня возникает множество проблем.

При запросе к spell или proof с предложением ниже он не возвращает помеченных токенов.

Это долгое послание с некоторыми ошибками. Это должен быть вопрос, но я не могу придумать длинный вопрос. Может, это означает, что мне не о чем спросить?

{"_type": "SpellCheck", "flaggedTokens": []}

Если я ограничу текст запроса 128 символами, он работает. Я тестировал это в консоли тестирования API Bing it работает.

Я вызываю API с тем, что рекомендуется для PHP (Http_Request2) с вариантом POST. Кроме того, я сейчас использую бесплатную подписку, но буду обновлен, если приложение будет работать. В противном случае, похоже, мне придется искать другой API, что очень досадно.

Я пробовал запрашивать столько разных способов, чтобы убедиться, что это не только мой код. Я использовал cURL и приложение PostMan, но все возвращают одну и ту же проблему.

Мы будем очень признательны за любое понимание того, почему это происходит, поскольку это привело меня в замешательство на несколько часов!


person Sam    schedule 21.02.2017    source источник
comment
Вы нашли ответ? Потому что у меня такая же ошибка ... Спасибо   -  person Doctor    schedule 04.04.2017
comment
@ Доктор Нет. В итоге я попробовал альтернативу - phpspellcheck.com. Однако я бы предпочел использовать Bing.   -  person Sam    schedule 04.04.2017
comment
Спасибо !   -  person Doctor    schedule 04.04.2017
comment
Вы хорошо расшифровали свою строку? В большинстве случаев знак 'может отвлекать вашу опубликованную структуру данных. Может быть, попробуйте это предложение без каких-либо знаков, чтобы проверить, правильно ли я чувствую   -  person Peter    schedule 18.04.2017
comment
Да, тоже пробовал. @Питер   -  person Sam    schedule 19.04.2017


Ответы (2)


Код работает, текст ненадежный, 128 - не максимальный размер. Понятия не имею, почему тест API Bing обрабатывает ваш текст без проблем.

Как прийти к таким выводам? Скопируйте свою любимую реализацию из здесь или используйте Postman (да, оно работает). Использование Post или Get не имеет значения для размера текста.

Попробуйте это с текстом «Билл Гатас», отформатированным с помощью% 20 или +, результат будет тот же, что и в примере. Подтверждение работы вашего кода.

Затем попробуйте следующий текст, содержащий более 128 символов (162). И он должен вернуть результат.

% 20is% 20a% 20long% 20Bill% 20Gatas% 20.Bill% 20Gatas% 20.Bill% 20Gatas% 20.Bill% 20Gatas% 20.Bill% 20Gatas% 20Bill% 20Gatas% 20.Bill% 20Gatas% 20.% 20. Счет% 20Gatas% 20.% 20 Счет% 20

Все, что сверх этого, дает пустой результат. (попробуйте добавить Гатас в конец). Теперь В спецификации говорится, что максимальный URL-адрес составляет 1500 символов, и «Общая длина текстовой строки, preContextText и postContextText не может превышать 10 000 символов». И, как указано здесь, заклинание было разработано примерно для 9 токенов.

Итак, что бы ни делал тестовый веб-сайт Bing, это, вероятно, некоторая пакетная работа. Или они заставили доказательную реализацию работать.

  • (Что я пробовал, тот же результат, без токенов)
  • (Также попробовал все это еще раз для v7, тот же результат, без токенов)
person Martin van Delft    schedule 03.08.2017

Хорошо, это не совсем так. Для запросов GET сервер обычно накладывает ограничение. Большинство конфигураций безопасности ограничивают длину строки запроса. Если у вас большая текстовая строка, вы должны использовать почтовый запрос. https://app.pluralsight.com/library/courses/microsoft-azure-cognitive-services-bing-spell-check-api/table-of-contents

person Mintey    schedule 28.08.2019