Jakie są sposoby pobierania kodu źródłowego ze strony w javie?

0

Jakie istnieją sposoby na pobranie kodu źródłowego dowolnej strony (bez https)? Proszę byście wymienili te najłatwiejsze sposoby. W niektórych językach programowania są gotowe funkcje na to, w stylu: JakasFunkcja.Get("onet.pl"); i pobiera index do String. I w innych językach można socketami się bawić, ale trochę zabawy z tym jest, dlatego do prostych rzeczy ludzie wolą używać gotowych funkcji Post i Get.

Dopiero ozpoczynam zabawę z Javą i pisaniem na androida, dlatego postanowiłem skrócić swój czas i zapytać, czy są tam jakieś gotowe rzeczy do tego, wystarczą mi nazwy, a wtedy google już użyję sam. Dziękuję za uwagę.

0

a czy mógłby ktoś z was podać mi wymagane rzeczy z tego URLa do pobrania kodu źródłowego (np. tego forum)?
Bo nawet jak na żywca skopiowałem 3 losowe kody ze stron z netu, dosłownie, to nie pobierało mi niczego ze strony, nawet nie próbowało łączyć ze stroną, bo w wiresharku sprawdzałem dodatkowo. Nie proszę was o gotowce, a jedynie o napisanie czegoś w stylu -> potrzebujesz: BufferedReader, URL InputStreamReader i bla bla bla oraz musisz użyć .openStream i bla bla.

I tyle. Wtedy będę wiedział czego brakuje. Bo to dziwne, że kody z netu skopiowane nie chodzą, a z manifeście dodałem odpowiednie rzeczy.

0

fajnie, że na większości stron w kodach nie było Thread ani AsyncTask, cud, że w w ogóle gdzieś ktoś na forum innym wspomniał, że potrzebne to, możliwe, że dawniej nie było potrzebne to, w starszych androidach. Teraz kod działa, pobiera stronę. Jednak ten AsyncTask użyłem idiotycznie, tzn.

private class blablabla extends AsyncTask<String, Void, String>

rzecz jasna te argumenty wymagane pomiędzy <> mnie nie obchodzą więc odpalam tego asyncsynca podając pusty String. Da radę bez argumentów robić ten AsyncTask? Bo skoro ich nigdzie nie używam, a pobiera stronę raz, prawidłowo, to znaczy, że w teorii można by wywalić te zaśmiecające trzy rzeczy z <>, bo i tak nic nie robią.

A podacie mi przykład jak Thread zrobić? W OnCreate mam odpalić wątek za pomocą .run();, a sam wątek może być na dole, w głównym kodzie gdzieś? W ogóle można w Thread pobierać strony? Bo jak pierwszy test zrobiłem to coś nie pobrało, ale możliwe, że wątek źle umieściłem w kodzie.

0

Można pobierać strony inaczej by ci nawet poprzednia opcja nie działała... Bo tak na prawdę działasz w czymś teraz co się nazywa wątek główny. Poza tym na temat tworzenia wątków jest mnóstwo stron

 
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.net.MalformedURLException;
import java.net.URL;

public class Klasa implements Runnable {
	  private URL strm;
public void setURL(String str)
	   {
	   try {
		strm = new URL(str);
	} catch (MalformedURLException e) {
	System.out.println("Exception");
	} 
	   }
	    @Override
	    public void run() {
              	BufferedReader in;
	        	String inputLine;
	        while(true) {
	              if(strm!=null){
	                 try{
	                  in = new BufferedReader(  
	                		  new InputStreamReader(strm.openStream()));
	                  while ((inputLine = in.readLine()) != null)
	                  System.out.println(inputLine);
	                  in.close();
	                   }
	            	   catch (IOException e) {
						System.out.print("Exception");
					   }
	                  finally
	                  {
	            	   strm = null;
	                  }
	            }
	                     }
	                      }
	}

import java.net.MalformedURLException;

public class appmain {

	/**
	 * @param args
	 */
	public static void main(String[] args) {
	  Klasa kl = new Klasa();
		new Thread(kl).start();
	      kl.setURL("http://google.pl");

	}

}

Nigdy nie robiłem takich rzeczy, ale może jakoś tak 0.o ?

0

Kopiujesz tą klasę do projektu: https://github.com/kevinsawicki/http-request/blob/master/lib/src/main/java/com/github/kevinsawicki/http/HttpRequest.java

  String body - HttpRequest.get("adres_strony").body();

1 użytkowników online, w tym zalogowanych: 0, gości: 1