Модераторы: gambit, Partizan
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> HttpWebRequest google переводчик 
:(
    Опции темы
Most
Дата 3.11.2010, 01:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 59
Регистрация: 11.5.2009

Репутация: нет
Всего: нет



Здравствуйте) Вот собственно делал программу - переводчик. Которая хранит данные в xml файле. В голову пришла идея вставить в программу возможность програмно подключаться к гугл-переводчику и получать перевод слова. В интернете нашел интерестное решение
В принципе в ниже приведенной функции мне понятно почти все кроме того где и как мы узнали строку requestUri???Помогите разобраться.
Код

 // so we don't need to send a format? key
                       string requestUri = "http://ajax.googleapis.com/ajax/services/language/translate?v=1.0&q=" + _en_Word + "&langpair=" + "en" + "%7C"+"ru";


вот функция, реализующая подключение и внесение переведенного слова с английского на русский в поле textbox:
Код

private void set_conection(TextBox output)
       {

           // make sure that the passed string is not empty or null
           if (!String.IsNullOrEmpty(_en_Word))
           {
               // per Google's terms of use, we can only translate
               // a string of up to 5000 characters long
               if (_en_Word.Length <= 5000)
               {
                   const int bufSizeMax = 65536;
                   const int bufSizeMin = 8192;

                   try
                   {
                       // by default format? is text.  
                       // so we don't need to send a format? key
                       string requestUri = "http://ajax.googleapis.com/ajax/services/language/translate?v=1.0&q=" + _en_Word + "&langpair=" + "en" + "%7C"+"ru";

                       // execute the request and get the response stream
                       HttpWebRequest request = (HttpWebRequest)WebRequest.Create(requestUri);
                       HttpWebResponse response = (HttpWebResponse)request.GetResponse();
                       Stream responseStream = response.GetResponseStream();

                       // get the length of the content returned by the request
                       int length = (int)response.ContentLength;
                       int bufSize = bufSizeMin;

                       if (length > bufSize)
                           bufSize = length > bufSizeMax ? bufSizeMax : length;

                       // allocate buffer and StringBuilder for reading response
                       byte[] buf = new byte[bufSize];
                       StringBuilder sb = new StringBuilder(bufSize);

                       // read the whole response
                       while ((length = responseStream.Read(buf, 0, buf.Length)) != 0)
                       {
                           sb.Append(Encoding.UTF8.GetString(buf, 0, length));
                       }

                       // the format of the response is like this
                       // {"responseData": {"translatedText":"¿Cómo estás?"},             "responseDetails": null, "responseStatus": 200}
                       // so now let's clean up the response by manipulating the string
                       string translatedText = sb.Remove(0, 36).ToString();
                       translatedText = translatedText.Substring(0,
                       translatedText.IndexOf("\"},"));

                       output.Text= translatedText;
                   }
                   catch
                   {
                       output.Text= "Cannot get the translation.  Please try again later.";
                   }
               }
               else
               {
                   output.Text= "String to translate must be less than 5000 characters long.";
               }
           }
           else
           {
               output.Text= "failed";
           }
       }



PM MAIL   Вверх
diadiavova
Дата 3.11.2010, 08:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Доктор Зло(диагност, настоящий, с лицензией и полномочиями)
****


Профиль
Группа: Модератор
Сообщений: 5821
Регистрация: 14.8.2008
Где: В Коньфпольте

Репутация: 16
Всего: 142





--------------------
Хочешь получить мудрый совет - читай подписи участников форумов.
Злой доктор Щасзаболит smile
PM   Вверх
Most
Дата 3.11.2010, 09:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 59
Регистрация: 11.5.2009

Репутация: нет
Всего: нет



спс буду разбираться...
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Прежде чем создать тему, посмотрите сюда:
mr.DUDA
THandle

Используйте теги [code=csharp][/code] для подсветки кода. Используйтe чекбокс "транслит" если у Вас нет русских шрифтов.
Что делать если Вам помогли, но отблагодарить помощника плюсом в репутацию Вы не можете(не хватает сообщений)? Пишите сюда, или отправляйте репорт. Поставим :)
Так же не забывайте отмечать свой вопрос решенным, если он таковым является :)


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, mr.DUDA, THandle.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Разработка Windows Forms | Следующая тема »


 




[ Время генерации скрипта: 0.0413 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.