![]() |
|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Пользователь
Регистрация: 01.10.2009
Сообщений: 38
|
![]()
Здравствуйте, пытаюсь отправить wav файл на распознавание в яндекс, но получаю ошибку 400 invalid character in header.
HTTP/1.0 400 Bad Request Access-Control-Allow-Origin: * Connection: close Content-Length: 30 Content-Type: text/html Date: Thu, 02 Oct 2014 20:51:50 MSK Server: YaVoiceProxy2 X-YaReqFinish: 1412268710.823475 X-YaRequestId: 67dd3d12-4a54-11e4-9ede-ca3799e7ec61 invalid character in header! Можете сказать че не так? Код:
|
![]() |
![]() |
![]() |
#2 |
Форумчанин
Регистрация: 18.01.2012
Сообщений: 975
|
![]()
И вам доброго времени суток! А почему именно сокет? HttpWebRequest чем вам не угодил?
Благодарить в репутацию. Проклинать — туда же
![]() |
![]() |
![]() |
![]() |
#3 |
Пользователь
Регистрация: 01.10.2009
Сообщений: 38
|
![]()
С ним я пробовал, тоже самое получал, тут хотя бы смог прочитать про invalid character in header, там просто исключение срабатывало и ошибка 400 писалась=(
|
![]() |
![]() |
![]() |
#4 |
Старожил
Регистрация: 06.08.2009
Сообщений: 2,992
|
![]()
Попробуйте с помощью Fiddler отправлять копипасту примеров из какой-нибудь справки.
Проверьте, везде ли у вас нужный перенос строки, попробуйте /n и /r/n. |
![]() |
![]() |
![]() |
#5 |
Пользователь
Регистрация: 01.10.2009
Сообщений: 38
|
![]()
Вот теперь работает
public static string PostMethod(byte[] bytes) { string postUrl = "https://asr.yandex.net/asr_xml?"+ "uuid=01ae13cb744628b58fb536d496daa 1e6&" + "key=ключ&"+ "topic=queries"; HttpWebRequest request = (HttpWebRequest)WebRequest.Create(p ostUrl); request.Method = "POST"; request.Host = "asr.yandex.net"; request.SendChunked = true; request.UserAgent = "Oleg"; request.ContentType = "audio/x-wav"; request.ContentLength = bytes.Length; using (var newStream = request.GetRequestStream()) { newStream.Write(bytes, 0, bytes.Length); } HttpWebResponse response = (HttpWebResponse)request.GetRespons e(); string responseToString=""; if (response != null) { var strreader = new StreamReader(response.GetResponseSt ream(), Encoding.UTF8); responseToString = strreader.ReadToEnd(); } int index = responseToString.IndexOf("<variant confidence=\"1\">"); responseToString = responseToString.Substring(index + 24, responseToString.Length - index - 24); int index2 = responseToString.IndexOf("</variant>"); responseToString = responseToString.Substring(0, index2); return responseToString; } Почему не работала раньше эта функция я так и не понял, сравнивал со старым вариантом построчно, только входные параметры поменял. Магия. Хотя скорость распознавания оставляет желать лучшего, бывает доходит до 10 секунд. Всем спасибо. |
![]() |
![]() |
![]() |
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Запрос к Yandex переводчику из программы на c# | rmv240899 | Общие вопросы .NET | 1 | 20.12.2012 05:27 |
Post запрос | STALERUM | Работа с сетью в Delphi | 1 | 16.09.2012 21:10 |
Post запрос | Arsenx777 | PHP | 0 | 19.04.2012 19:35 |
POST запрос | bunukar | Работа с сетью в Delphi | 6 | 27.11.2011 19:26 |
Post запрос | Arsenx777 | Работа с сетью в Delphi | 4 | 18.08.2011 19:56 |