<html lang="it-it" dir="ltr"><head></head><body># API Licenze Software - Esempio con cURL

Questo documento è un sottoinsieme del [documento API Licenze Software](https://easydigitaldownloads.com/docs/software-licensing-api/) che elenca tutte le funzionalità disponibili tramite l'API. Le seguenti informazioni spiegano come implementare tali funzionalità con cURL.

[cURL](https://curl.haxx.se/) è uno strumento da riga di comando e una libreria open source per trasferire dati con sintassi URL. cURL è preinstallato nelle versioni moderne di Mac OS X e, per impostazione predefinita, nella maggior parte delle distribuzioni Linux. Puoi testarlo semplicemente digitando

```
curl
```

 sulla riga di comando e premendo invio. Se cURL è installato, vedrai un messaggio simile a questo:

```
curl: try 'curl --help' or 'curl --manual' for more information
```

Per chiedere a cURL di effettuare una richiesta HTTP per te, specificagli le tue variabili e l'URL a cui desideri inviarla, in questo modo:

```
curl&lt;br&gt;&lt;/br&gt;-d edd_action=check_license &lt;br&gt;&lt;/br&gt;-d item_id=123 &lt;br&gt;&lt;/br&gt;-d license=cc22c1ec86304b36883440e2e84cddff &lt;br&gt;&lt;/br&gt;-d url=https://licensedsite.com &lt;br&gt;&lt;/br&gt;https://YOURSITE.com/&lt;br&gt;&lt;/br&gt;
```

Nell'esempio sopra, abbiamo anteposto ogni variabile con -d in modo che il contenuto venga codificato in formato URL. Una risposta alla query sopra sarebbe una stringa in formato JSON che assomiglierebbe a questo:

```
{
	"license": "valid",
	"item_name": "EDD Product name",
	"expires": "2014-10-23 00:00:00",
	"payment_id": 54224,
	"customer_name": "John Doe",
	"customer_email": "john@sample.com"
}
```

### Flag

cURL accetta molti flag per modificarne il comportamento. Un tutorial completo su cURL è al di fuori dello scopo di questo documento, ma dai un'occhiata a questi flag che potrebbero interessarti:

- -u, --user USER\[:PASSWORD\] Utente e password del server
- -A, --user-agent STRING Invia STRING User-Agent al server (H)
- -d, --data DATA Dati POST HTTP (H)
- -s, --silent Modalità silenziosa (non visualizzare nulla)
- -o, --output FILE Scrivi su FILE invece che su stdout
- -k, --insecure Consenti connessioni a siti SSL senza certificati (H)
- -K, --config FILE Leggi la configurazione da FILE

### Script bash

bash è una shell Unix comune e consente lo scripting delle azioni. Quello che segue è un semplice script bash che richiederà diverse informazioni, quindi eseguirà la richiesta cURL e visualizzerà l'output sullo schermo.

```
#!/bin/bash&lt;br&gt;&lt;/br&gt;&lt;br&gt;&lt;/br&gt;# Questo script accetta argomenti per accedere all'API REST di Easy Digital Downloads&lt;br&gt;&lt;/br&gt;# Software Licensing, quindi esegue cURL per ottenere i risultati.&lt;br&gt;&lt;/br&gt;&lt;br&gt;&lt;/br&gt;read -p "Item ID: " item_id;&lt;br&gt;&lt;/br&gt;read -p "EDD Action: " edd_action;&lt;br&gt;&lt;/br&gt;read -p "License: " license;&lt;br&gt;&lt;/br&gt;read -p "URL: " url;&lt;br&gt;&lt;/br&gt;&lt;br&gt;&lt;/br&gt;exec curl --data-urlencode "item_id=$item_id" --data-urlencode "edd_action=$edd_action" --data-urlencode "license=$license" --data-urlencode "url=$url" https://YOURSITE.com/;&lt;br&gt;&lt;/br&gt;
```

L'esempio sopra potrebbe essere modificato per porre più domande, avere flag cURL diversi o qualsiasi altra cosa desideri.</body></html>