Hej, czy moglby ktos przyblizyc dzialanie ponizszego kodu, ktory sluzy do pobierania danych ze stron WWW?
import java.io.BufferedInputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.StringReader;
import java.net.MalformedURLException;
import java.net.URL;
import javax.xml.parsers.DocumentBuilder;
import javax.xml.parsers.DocumentBuilderFactory;
import javax.xml.parsers.ParserConfigurationException;
import org.w3c.dom.Document;
import org.w3c.dom.Element;
import org.w3c.dom.Node;
import org.w3c.dom.NodeList;
import org.xml.sax.InputSource;
import org.xml.sax.SAXException;
public class HTTPFetch {
public static String getPageContents(String pageUrl) {
StringBuffer pageContents = new StringBuffer();
try {
URL url = new URL(pageUrl);
InputStream in = url.openStream();
BufferedInputStream bufIn = new BufferedInputStream(in);
for (;;) {
int data = bufIn.read();
if (data == -1)
break;
else
pageContents.append((char) data);
}
} catch (MalformedURLException mue) {
System.err.println ("Invalid URL");
} catch (IOException ioe) {
System.err.println ("I/O error: " + ioe);
}
return pageContents.toString();
}
public static String getDataText(String pageContents) {
String keyword = "<h>Last Update</h>";
int offset = keyword.length() + 6;
int length = 23;
String data = null;
int index = pageContents.indexOf(keyword);
data = pageContents.substring(index + offset, index + offset + length);
return data;
}
public static String getDataXML(String pageContents) {
String data = null;
try {
DocumentBuilderFactory docBuilderFactory = DocumentBuilderFactory.newInstance();
DocumentBuilder docBuilder = docBuilderFactory.newDocumentBuilder();
Document doc = docBuilder.parse(new InputSource(new StringReader(pageContents)));
Element element = doc.getElementById("note");
NodeList nodes = element.getChildNodes();
data = nodes.item(3).getTextContent();
} catch (ParserConfigurationException pce) {
System.err.println ("Parser error: "+ pce);
} catch (SAXException se) {
System.err.println ("SAX parser error: " + se);
} catch (IOException ioe) {
System.err.println ("I/O error: " + ioe);
}
return data;
}
}