Come testare la connessione tra due pc in una lan

Come testare la connessione tra due pc in una lan

Un primo modo di verificare  se si riesce a raggiungere un altro computer è il semplice ping:

ping <ip_destinazione>

ma non sempre l’assenza di risposta  indica che i due pc non riescono a vedersi. Potrebbe essere che il ping sia disabilitato.

Con il comando ncat invece siamo sicuri che se non c ‘è risposta la rotta tra le due macchine è chiusa. Questa la sintassi  ncat -s [SOURCE_IP] -t -v [TARGET_IP] [PORT] 

Esempio:

ncat -s 172.1.1.138 -t -v 172.1.1.76 8080 

 

JSOUP Select Esempi

JSOUP permette di recuperare determinate parti di codice della pagina html tramite il comando <documento>.select(…….). Di seguito vari esempi di comandi.

.select(nometag) recupera tutti gli elementi che hanno il tag nometag.

body.select(“div”)

“#id”: recupera l’elemento che ha il dato id

body.select(“#div_2”);

“.nomeclasse”: recupera gli elementi che hanno come classe css nome classe

body.select(“.rosso”);

“[nome attributo]”: recupera gli elementi che hanno l’attributo specificato

body.select(”[id]”)

“[nome_attributo=valore_attributo]”: recupera gli elementi che hanno per l’attributo indicato il valore indicato

Body.select(“[id=div_2]”);

Ovviamente è possibile utilizzare un selettore composto da una o più delle precedenti regole.

Ad esempio supponendo di voler recuperare tutti gli elementi con tag div e classe css rosso, utilizzeremo il selettore:

“div.rosso”

JSOUP Come estrarre immagini da una pagina html

JSOUP è una libreria per parser html.

In questo tutorial estraiamo tutti le immagini presenti in questa pagina “http://news.ycombinator.com/“.

Con  doc.select(“img”) otteniamo un array di links.

Per ogni immagine, stampiamo l’indirizzo assoluto a cui punta   tramite e.absUrl(“src”)

Parser.java

[cc]

package jsoup2;

import org.jsoup.Jsoup;
import org.jsoup.nodes.Document;
import org.jsoup.nodes.Element;

public class Parser {

public static void main(String[] args) {

try {
Document doc = Jsoup.connect(“http://news.ycombinator.com/”).get();

for (Element e : doc.select(“img”)) {
String src = e.absUrl(“src”);
System.out.println(“src:” + src);

}

}
catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}

}
}

[/cc]

Output

Immagine

 

Download sorgenti intero progetto

icona_zip

JSOUP Come estrarre link da una pagina

JSOUP è una libreria per parser html.

In questo tutorial estraiamo tutti i links presenti in questa pagina “http://news.ycombinator.com/“.

Con  doc.select(“a”) otteniamo un array di links.

Per ogni link, stampiamo l’indirizzo assoluto a cui punta   tramite e.attr(“abs:href”)

Parser.java

[cc]

package jsoup1;

import org.jsoup.Jsoup;
import org.jsoup.nodes.Document;
import org.jsoup.nodes.Element;

public class Parser {
public static void main(String[] args) {try {
Document doc = Jsoup.connect(“http://news.ycombinator.com/”).get();

for (Element e : doc.select(“a”)) {
String href = e.attr(“abs:href”);
System.out.println(“href:” + href);

}

}
catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}

}

}

[/cc]

 

Output

Jsoup come estrarre i link da una pagina output

 

Download sorgenti intero progetto

icona_zip

JSOUP Parser Esempio Hello World

Jsoup è una libreria per parser html, sia online che offline. In questo tutorial mostriamo come fare un parser di un sito (www.html.it) e di un file html salvato in locale.

 

 

Dipendenza da aggiungere nel pom.xml

 

<!-- https://mvnrepository.com/artifact/org.jsoup/jsoup -->
<dependency>
    <groupId>org.jsoup</groupId>
    <artifactId>jsoup</artifactId>
    <version>1.11.3</version>
</dependency>

Parser Sito

package jsoupparser;

import org.jsoup.Jsoup;
import org.jsoup.nodes.Document;
public class ParserHtml {
public static void main(String[] args) {

try {
Document doc = Jsoup.connect("http://www.html.it").get();

}
catch (Exception e) {
e.printStackTrace();
}

}

}

Parser file html locale

import java.io.File;
import org.jsoup.Jsoup;
import org.jsoup.nodes.Document;

public class Parser {
	public static void main(String[] args) {

		try {

			File input = new File("c:\\PROVA.html");
			Document doc = Jsoup.parse(input, "UTF-8");

		} catch (Exception e) {// TODO Auto-generated catch blocke.printStackTrace();}
		}
	}

}

Applicazioni Facebook Appunti

Un’applicazione  facebook è un’applicazione web ( scritta con un qualsiasi linguaggio web), in genere  eseguita in uno spazio interno  di facebook.
Questo spazio  si chiama Canvas Page. Ogni Canvas è identificato da un nome, dalle dimensioni e dall’url esterno (Canvas URL) da dove prendere la nostra applicazione. Questo url deve essere https.
A livello di html5 il canvas è un tag cosi definito:

<canvas></canvas>




Per usare, e quindi fare query,  facebook  abbiamo bisogno prima di un token.

Questo token  ci dice quali informazioni possiamo prendere dall utente  (in genere questa info corrisponde alla finestrella che si apre e dice “consenti a questa app di prendere queste informazoni…………..”). Il permesso di prendere informazioni devono inoltre essere dichiarati, e approvati, da facebook stesso in fase di creazione della nostra applicazione. 
Questo token viene ottenuto seguendo il protocollo OAuth 2.0.  
Protocollo OAuth 2.0 funzionamento:
1 – L’ utente accede all’applicazione (la nostra), che contatta il sistema esterno per ricevere un “Unauthorized Request Token”; 
2 –  L’applicazione ridirige l’ utente verso il sistema esterno, passando il token non autorizzato; 
3 – L’ utente decide di autorizzare l’applicazione direttamente sul sistema esterno;
4 – Il sistema esterno ridirige l’utente verso l’applicazione passando un “Access Token”
5 ; L’applicazione accede ai dati dell’Utente presenti sul sistema esterno grazie al token autorizzato. 

Per fare le query  ci sono due modi:

  •                FQL,un linguaggio simile ad SQL  es: SELECT uid, name FROM user WHERE uid = me()
  •               GraphAPI: ossia si chiama un url https://graph.facebook.com/me?fields=id,bio,hometown…….. con le varie info richieste messe nella get 



Per prendere il token e fare query in java si può usare il framework SocialAuth



Check esistenza file

        String pathFile = “/photos/profile/photoProfile.png”;
        File file = new File(pathFile);

         boolean existsFile = file.isFile();
        if (!existsFile) {
          System.out.println(“foto profilo non esistente”);
        }
        else
          System.out.println(“foto profilo  esistente”);

Client WS Https WSS4J 2.1.1 CXF 3.1.1

Client.java
 import org.apache.cxf.rt.security.SecurityConstants;
    Map<String, Object> ctx = ((BindingProvider)verificacionJugadores_Service).getRequestContext();
      ctx.put(SecurityConstants.SIGNATURE_PROPERTIES,merlin.properties);
     try {
       portWS.metodoWS();
     }
     catch (Exception e) {
         log.error(e);
     }

Merlin.properties
org.apache.wss4j.crypto.provider=org.apache.wss4j.common.crypto.Merlin
org.apache.wss4j.crypto.merlin.keystore.type=jks
org.apache.wss4j.crypto.merlin.keystore.password=passwordkeystore
org.apache.wss4j.crypto.merlin.keystore.alias=nomealias
org.apache.wss4j.crypto.merlin.keystore.file=nomefile.jks

maven pom.xml
<dependency>
<groupId>org.apache.wss4j</groupId>
<artifactId>wss4j-bindings</artifactId>
<version>2.1.1</version>
<scope>compile</scope>
</dependency>
<dependency>
<groupId>org.apache.wss4j</groupId>
<artifactId>wss4j-integration</artifactId>
<version>2.1.1</version>
<scope>compile</scope>
</dependency>
<dependency>
<groupId>org.apache.wss4j</groupId>
<artifactId>wss4j-ws-security-common</artifactId>
<version>2.1.1</version>
<scope>compile</scope>
</dependency>
<dependency>
<groupId>org.apache.wss4j</groupId>
<artifactId>wss4j-ws-security-dom</artifactId>
<version>2.1.1</version>
<scope>compile</scope>
</dependency>

<dependency>
<groupId>org.apache.cxf</groupId>
<artifactId>cxf-rt-frontend-simple</artifactId>
<version>3.1.1</version>
</dependency>
<dependency>
<groupId>org.apache.cxf</groupId>
<artifactId>cxf-rt-frontend-jaxws</artifactId>
<version>3.1.1</version>
</dependency>
<dependency>
<groupId>org.apache.cxf</groupId>
<artifactId>cxf-rt-ws-policy</artifactId>
<version>3.1.1</version>
</dependency>
<dependency>
<groupId>org.apache.cxf</groupId>
<artifactId>cxf-rt-transports-http</artifactId>
<version>3.1.1</version>
</dependency>
<dependency>
<groupId>org.apache.cxf</groupId>
<artifactId>cxf-rt-transports-http</artifactId>
<version>3.1.1</version>
</dependency>
<dependency>
<groupId>org.apache.cxf</groupId>
<artifactId>cxf-rt-ws-security</artifactId>
<version>3.1.1</version>
</dependency>
<dependency>
<groupId>org.apache.cxf</groupId>
<artifactId>cxf-rt-transports-http-jetty</artifactId>
<version>3.1.1</version>
</dependency>
<dependency>
<groupId>asm</groupId>
<artifactId>asm</artifactId>
<version>3.3.1-redhat-5</version>
<scope>provided</scope>
</dependency>

Comandi Linux Utili

  •   find / -name [name_to_search] 2>&-     –>  Find  in modo che tutti i risultati ‘Permission Denied’ non vengano mostrati, senza essere entrati come root
  • wget -O- –no-check-certificate https://urlwebservice  –>  chiama un servizio https senza verificare che il certificato di quel servizio sia inserito nel cacerts.
  •  grep ‘sit_3439’  jboss.log.2015-10-* –> cerca stringa dentro più files