WEBLOGIC- remote debug eclipse

per avviare weblogic in modalita debug mettere questa riga

set JAVA_OPTIONS=%JAVA_OPTIONS% -Xdebug -Xnoagent -Xrunjdwp:transport=dt_socket,address=4000,server=y,suspend=n

nello script

<mio_dominio>/startWebLogic.cmd

il valore address è la porta su cui far puntare eclipse.
In eclipse andare nel menù:

run —> remote java application–>debug configuration

cliccare su new

weblogic - remote debug eclipse

e settare nel campo port il numero di porta scelto nel nostro caso 4000, oltre ovviamente al valore di host corretto. Eclipse è pronta per debuggare in remoto.

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 &lt;ip_destinazione&gt;

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

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();
}

}
}

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

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();
}

}

}

 

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