Форум программистов «Весельчак У»
  *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

  • Рекомендуем проверить настройки временной зоны в вашем профиле (страница "Внешний вид форума", пункт "Часовой пояс:").
  • У нас больше нет рассылок. Если вам приходят письма от наших бывших рассылок mail.ru и subscribe.ru, то знайте, что это не мы рассылаем.
   Начало  
Наши сайты
Помощь Поиск Календарь Почта Войти Регистрация  
 
Страниц: [1]   Вниз
  Печать  
Автор Тема: http - zapros i poluchenie otweta  (Прочитано 15555 раз)
0 Пользователей и 2 Гостей смотрят эту тему.
Malaja
Команда клуба

de
Offline Offline
Пол: Женский

« : 22-12-2004 16:05 » 

Ljudi, moget kto-nibud znaet i moget pomoch - dlja menja eto les temnij, na jave w gizni ne rabotala:

est server, na kotorij ja dolgna otprawit zapros w wide opredellenim obrazom sobrannogo linka, a w otwet poluchit chto-to w xml - formate priblizitelno takogo wida :

  <?xml version="1.0" encoding="ISO-8859-1" ?>
- <result found="1">
- <data id="0">
  <teg1>info1</teg1>
  <teg2 />
  <teg3>info3</teg3>
  <teg4 typ="" seq="1" size="320">http://1.1.1.1/kat/showimage.php?vea=bla&size=320&cid=1&file=ima.jpg&uid=123881&source=xml</Bildfile>
  </data>
  </result>

Posle poluchenija nado witashit stojashuju megdu tegami infu.

Ja nashla primer, zagnala - ne rabotaet  :oops:

     URL url = new URL("http://www.....");
     URLConnection uc = url.openConnection();
     uc.setDoOutput(true);
     uc.setDoInput(true);
     uc.setUseCaches(false);
     uc.connect();
     BufferedReader br = new BufferedReader(new InputStreamReader
                         (uc.getInputStream() )) ;
     String res = null;
     while ((res = br.readLine()) != null)
     System.out.println(res); 
     br.close () ; 

Ostanawliwaetsja na uc.connect(), dolgo gdet, a potom wiskakiwaet oshibka "java.net.NoRouteToHostException: No route to host: connect"

I chto bi eto znachilo - ne znaju  :?

Записан

холоднокровней, Маня, Ви не на работе
---------------------------------------
четкое определение сущности бытия:
- А мы в прошлом или в будущем?- спросила Алиса.
- Мы в жопе, - ответил кролик.
- А "жопа" - это настоящее? - спросила Алиса.
- А "жопа" - это у нас символ вечности.
Serega
Гость
« Ответ #1 : 23-12-2004 12:58 » 

NoRouteToHost - невозможно найти путь к хосту

полезный линк: http://translit.ru/
Записан
Malaja
Команда клуба

de
Offline Offline
Пол: Женский

« Ответ #2 : 26-12-2004 18:38 » 

Serega,
за линк - спасибо, просто тут у меня за спиной такой вечно в  мой монитор глядяший орел торчит, что я уже стараюсь побыстрее написать и закрыть окно ;-(

Что это означает - я поняла, я не знала, из-за чего. Но кажется уже знаю - не хватало указания Proxy. Надо проверить - если работает, то напишу здесь этот код.
Записан

холоднокровней, Маня, Ви не на работе
---------------------------------------
четкое определение сущности бытия:
- А мы в прошлом или в будущем?- спросила Алиса.
- Мы в жопе, - ответил кролик.
- А "жопа" - это настоящее? - спросила Алиса.
- А "жопа" - это у нас символ вечности.
Serega
Гость
« Ответ #3 : 26-12-2004 20:46 » 

Насколько я понимаю ты это на работе пишешь и то что ты пытаешься выяснить имеет прямое к ней отношение, тогда не пойти бы этому орлу полетать над прериями ? Ага

А читать на русском все же намного приятнее чем на транслите, если переводить в другом окне всеже не удобно поставь Ninja или PuntoSwitcher, хотя я не уверен что они умеют переводить транслит  Вот такой я вот

Насчет прокси ты права Отлично
Записан
Malaja
Команда клуба

de
Offline Offline
Пол: Женский

« Ответ #4 : 27-12-2004 15:43 » 

что тебе сказать - ты прав на 100%, но посылать ведь лень, и так голову поднять некогда. Ага
да в принципе и в этом окне можно, просто я себя знаю - когда я спешу, то я тут неправильную комбинацию клавиш наберу и не замечу, а это означает, что в тексте будут грамматические ошибки, а это неприятно читающим. Ага

Code :
  // example
  public static void testHttpConnect()
  {

  String req = "This text is posting to URL"; 

  try
  {
   //    Указываем URL нужной CGI-программы 
     URL url = new URL("http://www.test.de/.....");
   //    Создаем объект uc 
     URLConnection uc = url.openConnection();
   //    Собираемся отправлять 
     uc.setDoOutput(true);
   //    и получать сообщения 
     uc.setDoInput(true);
   //    без кэширования 
     uc.setUseCaches(false);
   //    Задаем тип 
//     uc.setRequestProperty("content-type", "application/octet-stream"); 
   //    и длину сообщения 
//     uc.setRequestProperty("content-length", "" + req.length());
    
   System.getProperties().put( "proxySet", "true" );
   System.getProperties().put( "proxyHost", "proxy" );
   System.getProperties().put( "proxyPort", "81" );



   //    Устанавливаем соединение 
     uc.connect();
      
   //    Открываем выходной поток 
     DataOutputStream dos = new DataOutputStream( uc.getOutputStream());
   //    и выводим в него сообщение, посылая его на адрес 
//     URL dos.writeBytes(req);
   dos.writeBytes(req);
   //    Закрываем выходной поток 
     dos.close();
   //    Открываем входной поток для ответа сервера 
     BufferedReader br = new BufferedReader(new InputStreamReader(uc.getInputStream() )) ;
     String res = null;
   //    Читаем ответ сервера и выводим его на консоль 
     while ((res = br.readLine()) != null)
     System.out.println(res); 
     br.close () ; 
  }
  catch(MalformedURLException me)
  {
     System.err.println(me); 
  }
  catch(UnknownHostException he)
  {
     System.err.println(he); 
  }
  catch(UnknownServiceException se)
  {
     System.err.println(se); 
  }
  catch(IOException ioe)
  {
     System.err.println(ioe); 
  } 

  } 
Записан

холоднокровней, Маня, Ви не на работе
---------------------------------------
четкое определение сущности бытия:
- А мы в прошлом или в будущем?- спросила Алиса.
- Мы в жопе, - ответил кролик.
- А "жопа" - это настоящее? - спросила Алиса.
- А "жопа" - это у нас символ вечности.
Malaja
Команда клуба

de
Offline Offline
Пол: Женский

« Ответ #5 : 27-12-2004 15:53 » 

Осталась одна маленькая проблемка - то, что я получила в формате, "разобрать на части", т.е. вытащить содержимое тэгов и записать их щ отдельный класс. Класс - не проблема, проблема - SAXParser ;-(

Оба варианта не работают - получаю "Unresolved compilation problem:
The method parse(String) in the type XMLReader is not applicable for the arguments (StringBufferInputStream)" ;-(


public class XML_TEST extends org.xml.sax.helpers.DefaultHandler
{


  public static void main(String[] args)
  {
        SAXParser saxParser = spf.newSAXParser();
        xmlReader = saxParser.getXMLReader();
        xmlReader.setContentHandler(new XML_TEST());
        xmlReader.setErrorHandler(new OrderErrorHandler());
       
        String str;
                                  str = new String("<teg1>Hallo</teg1>");
          InputStream inS = new StringBufferInputStream(str);
        //inS.read(byteStr);
        //xmlReader.parse( inS);
        xmlReader.parse(new StringBufferInputStream(str) );
   }
}


А в чем проблема - пока не знаю. Может быть, кто-то знает? Ето должно быть что-то очень простое, посему и невидное слету человеку в Java несведушему
Ага
Записан

холоднокровней, Маня, Ви не на работе
---------------------------------------
четкое определение сущности бытия:
- А мы в прошлом или в будущем?- спросила Алиса.
- Мы в жопе, - ответил кролик.
- А "жопа" - это настоящее? - спросила Алиса.
- А "жопа" - это у нас символ вечности.
Malaja
Команда клуба

de
Offline Offline
Пол: Женский

« Ответ #6 : 27-12-2004 16:33 » new

Пардон - заработало!!! Вот код :

public class XML_TEST extends org.xml.sax.helpers.DefaultHandler
{
  public static void main(String[] args)
  {
   SAXParserFactory spf = SAXParserFactory.newInstance();
   spf.setValidating(false); //request a validating parser
   XMLReader xmlReader = null;
   
   try
   {
        SAXParser saxParser = spf.newSAXParser();
        xmlReader = saxParser.getXMLReader();
        xmlReader.setContentHandler(new XML_TEST());
        xmlReader.setErrorHandler(new OrderErrorHandler());
       
        String str;
        str ="<teg1>Hallo</teg1>";

      InputStream inS = new StringBufferInputStream(str);
      InputSource is = new InputSource();
      is.setByteStream(inS);
      is.setEncoding("GB2312");
      xmlReader.parse(is);
            }
   }
   catch (Exception e)
   {
        e.printStackTrace();
   }
    }

  // The startDocument() method is called at the beginning of parsing
  public void startDocument() throws SAXException
  {
   System.out.println("Incoming Orders:");
  }

  // The startElement() method is called at the start of each element
  public void startElement(String namespaceURI, String localName,
String rawName, Attributes atts) throws SAXException
   {
      if(rawName.equals("teg1"))
      {
         System.out.print("\n\tteg1 ***  ");
      }
      
  }
 
 
 

  // Print Characters within a tag
  // This will print the contents of the <shippingaddr> and <handling> tags
  // There is no guarantee that all characters will be delivered in a single call

  public void characters(char[] ch, int start, int length)
  throws SAXException
  {
   System.out.print(new String(ch, start, length));
  }
 
  /* A custom error handling class, although DefaultHandler actually
  implements both interfaces.
  Here we just throw the exception back to the user.*/

  private static class OrderErrorHandler implements ErrorHandler
  {

   public void error(SAXParseException spe) throws SAXException
   {
     throw new SAXException(spe);
   }

   public void warning(SAXParseException spe) throws SAXException
   {
     System.out.println("\nParse Warning: " + spe.getMessage());
   }

   public void fatalError(SAXParseException spe) throws SAXException
   {
     throw new SAXException(spe);
   }
  }

}
Записан

холоднокровней, Маня, Ви не на работе
---------------------------------------
четкое определение сущности бытия:
- А мы в прошлом или в будущем?- спросила Алиса.
- Мы в жопе, - ответил кролик.
- А "жопа" - это настоящее? - спросила Алиса.
- А "жопа" - это у нас символ вечности.
Malaja
Команда клуба

de
Offline Offline
Пол: Женский

« Ответ #7 : 10-01-2005 09:16 » 

Проблема в следующем :

все, что я считала, я должна потом разобрать на части, т.е. выделить реальный текст.  сейчас я читаю построчно, т.е. для последуюшего выделения текста мне надо все это сначала загнать в файл, а потом вызывать parse для этого файла. Начальство же хочет обойтисъ без файлов ;-( А как тогда все это считать и затем загнать щ saxparser?
Записан

холоднокровней, Маня, Ви не на работе
---------------------------------------
четкое определение сущности бытия:
- А мы в прошлом или в будущем?- спросила Алиса.
- Мы в жопе, - ответил кролик.
- А "жопа" - это настоящее? - спросила Алиса.
- А "жопа" - это у нас символ вечности.
Serega
Гость
« Ответ #8 : 10-01-2005 16:47 » 

В качастве источника можно использовать как InputStream так и Reader
Записан
Страниц: [1]   Вверх
  Печать  
 

Powered by SMF 1.1.21 | SMF © 2015, Simple Machines