L'altro giorno stavo cercando di eseguire il download da un mio programma in Java da un sito con HTTPS.

Cosa già fatta varie altre volte; solo che questa volta, su questo sito, riscontravo questo errore (vi posto una parte del trace):

javax.net.ssl.SSLException: java.lang.RuntimeException: 
Could not generate DH keypair
......
Caused by: java.lang.RuntimeException: Could not generate DH keypair
......
Caused by: java.security.InvalidAlgorithmParameterException: 
DH key size must be multiple of 64, and can only range 
from 512 to 2048 (inclusive). 
The specific key size 4096 is not supported
......

Ho scoperto una funzione di PHP che ci consente di passare i parametri prendendo i valori da un array: http_build_query!

Può essere molto comoda per generare url dinamici partendo da un qualsiasi array (magari anch'esso creato dinamicamente).

Vediamo qualche esempio.

Fuel è una delle tante librerie per Java per eseguire richieste HTTP.

E' abbastanza semplice da usare, e per certi versi mi ricorda la sintassi di Javascript.

Se usate Maven, aggiungete queste dipendenze:

        <dependency>
            <groupId>com.github.kittinunf.fuel</groupId>
            <artifactId>fuel</artifactId>
            <version>1.8.0</version>
        </dependency>
        <dependency>
            <groupId>com.github.kittinunf.result</groupId>
            <artifactId>result</artifactId>
            <version>1.1.0</version>
        </dependency>

Compilate il progetto per scaricare la libreria.

Fuel è un'altra libreria per eseguire richieste HTTP in Kotlin.

Di base ha due dipendenze; se usate Maven:

    <dependencies>
        <dependency>
            <groupId>com.github.kittinunf.fuel</groupId>
            <artifactId>fuel</artifactId>
            <version>1.8.0</version>
        </dependency>
        <dependency>
            <groupId>com.github.kittinunf.result</groupId>
            <artifactId>result</artifactId>
            <version>1.1.0</version>
        </dependency>
    </dependencies>

Unirest è un libreria per creare richieste HTTP in maniera molto semplice e veloce.

E' disponibile per diversi linguaggi, ed oggi vedremo un esempio con Ruby.

Prima di tutto dobbiamo installarlo:

$ gem install unirest