Crea una cuenta o inicia sesión

¡Continúa aprendiendo sin ningún costo! Únete y comienza a potenciar tu carrera

Uso de Watson Personality Insights via CURL

5/25
Recursos

Aportes 78

Preguntas 38

Ordenar por:

¿Quieres ver más aportes, preguntas y respuestas de la comunidad?

Buenas tardes para todos, si alguien tiene problemas para realizar el ejemplo desde windows 10 utilizando CMD…aquí va la explicación de como se hace…primero debes descargar el archivo profile.txt desde “Archivos y Enlaces”… luego para tu comodidad guárdalo en alguna carpeta en tu computador …por ejemplo yo lo guarde en una carpeta llamada Watson y dentro de esta carpeta copie profile txt. Ahora debes ir a CMD e indicarle la ruta de donde esta profile.txt luego copiar el código curl.



NOTA: recuerden un detalle de la clase 3 se debe cambiar \ por ^. de lo contrario no va funcionar en cmd

curl -X POST -u “apikey:1W0HYwO8PNMm20zMxvo4RbTKc7eW612a2qsXfq3iXzT5” ^
–header “Content-Type: text/plain;charset=utf-8” ^
–header “Accept: application/json” ^
–data-binary @profile.txt ^
https://api.eu-gb.personality-insights.watson.cloud.ibm.com/instances/9ec4d5bd-5226-4119-9f9f-4b0457f2f3eb/v3/profile?version=2017-10-13

salio muy bien para que les salga igual que en el video en JSON Beautifier en el resultado le cambian de Code a Form

Hola amigos para los que tengan problema con PowerShell o CMD de windows

  1. descarguen git… siguiente a todo… Luego abren gitbash y usan esa terminal

  2. Descarguen Cygwin( Es una termina) instalan el paquete de curl. Cygwin crea el siguiente directorio C:\cygwin64\home\nombre_de_tu_pc dentro de este directorio podemos crear una carpeta para trabajar o pegar directamente pegar el profile.txt.

Update: Al final pude hacerlo utilizando Python, en la variable text cargué el texto de una conversación de whatsapp mía con una persoan que conozco, primero limpié mis chats para que solo analizara a la otra persona y permíteme decirte que los resultados son asombrosos. Dejo el código para los que lo quieren implementar:

# Import personality Insights SDK
from watson_developer_cloud import PersonalityInsightsV3


# Import Json
import json

url = 'https://api.us-south.personality-insights.watson.cloud.ibm.com/instances/16cfc9a6-b9f1-4e4e-ace7-8582451c6a75'
apikey = 'dmj0tWqK9gnzoeRHYqjgfKunWnv4-tL6ol3IyABHhFMk'

service = PersonalityInsightsV3(
    url=url, iam_apikey=apikey, version="2017-10-13")

text = """

"""
profile = service.profile(text, content_type='text/plain',
                          content_language="es").get_result()
len(profile['warnings'])
print(json.dumps(profile, indent=2))

DEFINITIVAMENTE FALTA ACTUALIZAR ESTE CURSO, ESTABA CON TODO EL ENTUSIASMO DE EMPEZAR PERO ME TOPO CON QUE PERSONALITY INSIGHTS ESTA EN DESUSO 😦

La falta de explicación por parte del docente para Windows es la desfachatez de este curso, que falla.

Lamentablemente desde el 1 de Diciembre de 2020 este servicio está en desuso, por lo que hoy para mi no hay localizaciones disponibles. https://cloud.ibm.com/docs/personality-insights?topic=personality-insights-about
Invitan a utilizar natural language understanding

Si estás windows y estás usando Git Bash como línea de comandos, y al momento de pasar a JSON Beautifier te sale error o siemplemente no te deja cambiar al formato… Trata de ejecutar en tu CMD de Windows desde la ruta en la que se encuentra tu archivo profile.txt esto:

curl -X POST -u "apikey:COPIA AQUÍ TU APIKEY" ^
--header "Content-Type: text/plain;charset=utf-8" ^
--header "Accept: application/json" ^
--data-binary @profile.txt ^
"COLOCA AQUÍ TU URL/v3/profile?version=2017-10-13"

Y posterior a eso, cambias la opción de Code de la parte derecha del JSON Beautifier por la opción Form, así:

Buenas Tardes, para los que les da este error
{“code”:400,“sub_code”:“S00014”,“error”:“The number of words 6 is less than the minimum number of words required for analysis: 100”}
Yo lo corregí así: Se debe verificar que la extensión del archivo este en .txt ademas de verificar que se este incluyendo la ruta completa de donde esta el archivo antecedido con un @, para mejor explicación les dejo el código aquí, YO ESTOY UTILIZANDO WINDOWS 10

curl -X POST -u "apikey:-VvaZE5-USidf315OUOJCquYEDNoEVwsfW_0LTs" ^
--header "Content-Type: text/plain;charset=utf-8" ^
--header "Accept: application/json" ^
--data-binary "@C:\Users\ABELINO\Desktop\perfil.txt" ^
"https://api.us-south.personality-insights.watson.cloud.ibm.com/instances/39791357-f366-44f7-88a6-4475820eb6ba/v3/profile?version=2017-10-13"```

Para quienes no les funciona con CMD y quieren intentarlo, aquí están los comando usados.

.
IMPORTANTE: La razón por la que a muchos les ha fallado es por que NO dan correctamente la ubicación del archivo “profile,txt”.
.
Para localizar un archivo en Windows hay una pequeña pero sustancial diferencia, el SEPARADOR, éste sirve para separar los diferentes elementos que componen la ruta.
Windows usa la barra invertida: \
Mientras que linux y Mac usan la barra diagonal /

.
Entonces el PATH en Windows quedaría de la siguiente manera: “C:\Users\notre\Desktop\Watson-IBM\profile.txt”

curl -X POST -u "apikey:{apikey}" ^
--header "Content-Type: text/plain;charset=utf-8" ^
--header "Accept: application/json" ^
--data-binary @C:\Users\notre\Desktop\Watson-IBM\profile.txt ^
"{url}/v3/profile?version=2017-10-13"

Con ésto les debería funcionar, sin necesidad de entrar a ninguna carpeta 😄

Lo estuve probando desde golang por si alguien quiere probarlo. remplaza sus credenciales.

package personality

import (
	"encoding/json"
	"fmt"
	"io/ioutil"

	"github.com/IBM/go-sdk-core/core"
	"github.com/watson-developer-cloud/go-sdk/personalityinsightsv3"
)

func Personality() {
	authenticator := &core.IamAuthenticator{

		ApiKey: "credenciales",
	}

	options := &personalityinsightsv3.PersonalityInsightsV3Options{
		Version:       "2017-10-13",
		Authenticator: authenticator,
	}

	personalityInsights, personalityInsightsErr := personalityinsightsv3.NewPersonalityInsightsV3(options)

	if personalityInsightsErr != nil {
		panic(personalityInsightsErr)
	}

	personalityInsights.SetServiceURL("url")

	profile, profileErr := ioutil.ReadFile("/tu/archivo")
	if profileErr != nil {
		panic(profileErr)
	}

	content := new(personalityinsightsv3.Content)
	json.Unmarshal(profile, content)

	result, _, responseErr := personalityInsights.Profile(
		&personalityinsightsv3.ProfileOptions{
			Content:                content,
			ContentType:            core.StringPtr("application/json"),
			RawScores:              core.BoolPtr(true),
			ConsumptionPreferences: core.BoolPtr(true),
		},
	)
	if responseErr != nil {
		panic(responseErr)
	}
	b, _ := json.MarshalIndent(result, "", "  ")
	fmt.Println(string(b))
}

La clase esta excelente entendi todo.
cuando lo fui a realizar puro error uso W10 y he seguido todos los pasos que han comentado en cada sesion de clases y cuando uso el CMD error y si uso el Power Shell error, en verdad me duele no realizar las actividades por falta de explicacion en windows y no todos tenemos para comprar una Mac

La herramienta en la que esta basada este curso fue abandonada por IBM. asi que, vale la pena hacer este curso?

Ya lo quitaron 😥

Un pequeño aporte, imágenes de como hacer el consumo a través de Postman, un cliente gráfico con el que usualmente trabajo servicios REST.

Se ve genial. Tendré más cuidado con mis post en redes 😛

Ya no esta en el listado de apps el Watson Personality Insights que otra herramienta se podria usar?

pesimo

En windows 8.1 me marcaba {“code”: 404, “error”:“Not Found}
Lo solucioné añadiendo /v3/profile?version=2017-10-13 al final de la URL
"https://api.us-south.personality…8cfa77b06/v3/profile?version=2017-10-13”

Lo he realizado con varios textos entre ellos cuentos de Rafael Pombo y es sorprendente el resultado. 

Tengo varios errores en el PowerShell
¿Alguien me puede dar una referencia?

PS E:\DEV\IA\Whatson> curl -X POST -u "apikey:dmj0tWqK9gnzoeRHYqjgfKunWnv4-tL6ol3IyABHhFMk" \
>> --header "Content-Type: text/plain;charset=utf-8" \
>> --header "Accept: application/json" \
>> --data-binary @profile.txt \
>> "https://api.us-south.personality-insights.watson.cloud.ibm.com/instances/16cfc9a6-b9f1-4e4e-ace7-8582451c6a75/v3/profile?version=2017-10-13"
>>                                                                                                                      En línea: 2 Carácter: 3
+ --header "Content-Type: text/plain;charset=utf-8" \
+   ~
Falta una expresión después del operador unario '--'.
En línea: 2 Carácter: 3
+ --header "Content-Type: text/plain;charset=utf-8" \
+   ~~~~~~
Token 'header' inesperado en la expresión o la instrucción.
En línea: 3 Carácter: 3
+ --header "Accept: application/json" \
+   ~
Falta una expresión después del operador unario '--'.
En línea: 3 Carácter: 3
+ --header "Accept: application/json" \
+   ~~~~~~
Token 'header' inesperado en la expresión o la instrucción.
En línea: 4 Carácter: 3
+ --data-binary @profile.txt \
+   ~
Falta una expresión después del operador unario '--'.
En línea: 4 Carácter: 3
+ --data-binary @profile.txt \
+   ~~~~~~~~~~~
Token 'data-binary' inesperado en la expresión o la instrucción.
En línea: 4 Carácter: 15
+ --data-binary @profile.txt \
+               ~~~~~~~~
El operador de expansión '@' no se puede usar para hacer referencia a variables en una expresión. '@profile' solamente
se puede usar como argumento para un comando. Para hacer referencia a variables en una expresión, use '$profile'.
    + CategoryInfo          : ParserError: (:) [], ParentContainsErrorRecordException
    + FullyQualifiedErrorId : MissingExpressionAfterOperator```

Lo logré después de seguir todas las recomendaciones de la clase N°3, también instalé en este paso choco para que me funcionara la instalación de curl. Al final no me daba porque al intercambiar () por (^) no dejaba un espacio. Al dejarlo me funcionó.

Lo ejecuté así desde cmd:

Para las personas que no encuentran Personality Insights dentro de los servicios de IBM. Es porque están tomando el curso después del primero de diciembre del 2020. A partir de esta fecha IBM ya no permite más descargas. Además, después del primero de diciembre del 2021 el servicio estará totalmente descontinuado. No conozco la razón de este suceso. Si alguien quiere complementar la información sería bueno 😁.

Si alguien a la fecha(Junio del 2021) no puede crear un servicio de Personality Insights, se debe de a que ha sido descontinuado. Y a partir del 1 de diciembre de 2020, no se pueden crear nuevas instancias : https://cloud.ibm.com/apidocs/personality-insights

Preguntas : esto funciona con todos los idiomas?

vuelve y juega, la falta de explicacion para estos cursos. suponen que uno tiene instalado y sabe manejar todas esas aplicaciones y fuera de eso trabajan con mac, que no entienden que la mayoria de gente usamos Windows???

¿Cúal es la región recomendada para desplegar los servicios de personality Insights para Colombia?

Lo intenté de varias formas que se me ocurren, no estoy muy familiarizado con Curl, realicé la instalación sugerida en este curso.Si alguien me puede dar luces sería genial, me gustaria probar un poco whatson.

Nota: si estás en linux usa los corchetes

El servicio IBM Watson™ Personality Insights obtiene información sobre las características de personalidad de las redes sociales, los datos empresariales, u otras comunicaciones digitales.

Me funciono en Win10, consola de windows con los cambios que indica el manual de \ por ^

{"code":400,"sub_code":"S00014","error":"The number of words 2 is less than the minimum number of words required for analysis: 100"} 

Me encontré con este error, descubrí que por accidente eliminé la arroba (@) de la ruta del archivo del perfil. La agregué y se solucionó

Big Five interesante tema

no esta mas personaliy insigths

En donde se encuenra el archivo plano profile.txt

Profe Isaac, de acuerdo al tema tratado en lo concerniente al % de certeza que muestra la herramienta, el documento que nos presenta en el profile.tex nos arroja 22989 palabras, lo que sobrepasa las 3000 indicadas en la presentación. Se justifica desde el punto de vista de uso, desde sus costos, tiempo…etc??..gracias por su respuesta

Hola para los que estén luchando con Windows, pueden utilizar Linux desde Windows Live Subsystem, instrucciones para usarlo
aquí

Por ejemplo es posible que no sepan como ubicarse en el mismo directorio donde tengan el archivo profile.txt desde la consola del WLS de Ubuntu, la solución a eso la encuentran en la sección “Pero hay un problema” del blog que les compartí en el enlace.

curl -X POST -u "apikey:yZHRhoqELvCvo_uhhknD5ck3k03TlyrQokfA1ygF30aM" ^
--header "Content-Type: text/plain;charset=utf-8" ^
--header "Accept: application/json" ^
--data-binary "@U:\Documents\Inteligencia Artificial IBM Watson\profile.txt" ^
"https://api.us-south.personality-insights.watson.cloud.ibm.com/instances/fdb44d75-52bc-4459-a52e-ce2ef85603c5/v3/profile?version=2017-10-13"```

En mi caso funciono en W10 siguiendo las instrucciones de los comentarios.

Al realizar los pasos en PowerShell de Windows me arroja este error!

Wow wow!! impresionante!

Como tenía problemas con Powershell lo hice con el google Cloud SDK Shell cambiando el caracter / por ^ y me funcionó correctamente. :’)

Lo realize de nuevo a traves del CMD de Linux fue un poco largo y demorado el proceso al final tuve el resultado esperado, genial la clase

Cuando intento correr el código en la consola de Windows me dice que curl no se reconoce como un comando, sin embargo al validar en el Windows PowerShell si esta instalado. Saben a que se debe?

para correr el comando desde el power shell en windows 10:

  1. escriban cmd en la consola
  2. escriban el comando
  3. listo

No pude realizar el ejemplo, intente con Git y con PowerShell y em CMD me sale esto :
profile?version=2017-10-13"
Usage: curl [options…] <url>
–abstract-unix-socket <path> Connect via abstract Unix domain socket
–anyauth Pick any authentication method
-a, --append Append to target file when uploading
–basic Use HTTP Basic Authentication
–cacert <CA certificate> CA certificate to verify peer against
–capath <dir> CA directory to verify peer against
-E, --cert <certificate[:password]> Client certificate file and password
–cert-status Verify the status of the server certificate
–cert-type <type> Certificate file type (DER/PEM/ENG)
–ciphers <list of ciphers> SSL ciphers to use
–compressed Request compressed response
-K, --config <file> Read config from a file
–connect-timeout <seconds> Maximum time allowed for connection
–connect-to HOST1:PORT1:HOST2:PORT2 Connect to host
-C, --continue-at <offset> Resumed transfer offset
-b, --cookie <data> Send cookies from string/file
-c, --cookie-jar <filename> Write cookies to <filename> after operation
–create-dirs Create necessary local directory hierarchy
–crlf Convert LF to CRLF in upload

En Linux Ubuntu me funciono de está manera:

curl -X POST --user "apikey:xxxxxx" --header "Content-Type: application/json" --header "Accept: application/json" --data-binary @profile.json "https://api.us-south.personality-insights.watson.cloud.ibm.com/instances/74281da1-392b-45a5-a62f-a0125f52a2dc/v3/profile?version=2017-10-13&consumption_preferences=true&raw_scores=true"```

Muy bueno, me funciono perfecto, pero que analizamos? que es archivo profile?

Tengo un problema que creo parecerá tonto, sin embargo, no me deja avanzar en el ejercicio:

Cuando copio y pego el párrafo:
"curl -X POST -u “apikey:StGbxl36-tkbkrP6WfF1pA11Jq_qKal5-VsCacGlW9VN”
–header “Content-Type: text/plain;charset=utf-8”
–header “Accept: application/json”
–data-binary @C:\Users\Viviana Ruiz\Drive danfel00@gmail\PLATZI\IA Watson\profile.txt
https://api.us-south.personality-insights.watson.cloud.ibm.com/instances/e084c0d2-9389-462a-b6d8-355154eb4313/v3/profile?version=2017-10-13"

En la terminal pego la info y el sistema ejecuta lìnea por lìnea; es decir, primero ejecuta "curl -X POST -u “apikey:StGbxl36-tkbkrP6WfF1pA11Jq_qKal5-VsCacGlW9VN” ", arroja error. Luego ejecuta "–header “Content-Type: text/plain;charset=utf-8” " y nuevamente arroja error y asi sucesivamente con las otras lìneas.

Hasta no poder pegar el pàrrafo completo, no podré ejecutar la instrucción completa.

Les agradezco si a alguno le ha pasado algo así; es un detalle pequeño pero no consigo documentación para solucionarlo.

Nota: Copio y pego normal con ctrlC y ctrlV. En la terminal. si doy click derecho, es como si estuviera diciendo directamente ctrlV.

ninguno de los pasos a seguir me funciono no pude realizar el ejemplo
curl : URI no válido: no se puede analizar el nombre de host.
En línea: 1 Carácter: 1, alguna solución

Excelente clase. Todo claro.

Un aporte. Desde la terminal de Linux, el resultado me salió incompleto, por lo que me salía error sintáctico en jsonbeautifier.org y no podía ver visualizarlo allí. La solución fue agregar '
"}]} ’ sin los espacios ni las comillas simples
al final del resultado.

Saludos

[0:33] Big Five.

Yo no tuve ningún problema a la hora de resolver la practica, solo hay que tener en cuenta el detalle que se nos dijo en el punto 5 de la instalacion de curl en windows, cambiando “” por “^”. Asi quedo el mio:

-> En el CMD:
![](

-> En el Json Beautifier:
![](

Super la clase, muy bien explicada. Toda dificultad se puede resolver en los comentarios!!

De acuerdo la tabla para interpretar los resultados, en que rango puedo definir que es alto y que es bajo.

Gracias

Genial!

curl -X POST -u “apikey:ZvilPj7CVLMfIQ8vycQbd40trwBNctKzBs1F-ipC_OWO” ^
–header “Content-Type: text/plain;charset=utf-8” ^
–header “Accept: application/json” ^
–data-binary “@C:\Users\Jonathan\Desktop\perfil.txt” ^
https://api.us-south.personality-insights.watson.cloud.ibm.com/instances/6fe63d64-24df-484b-b3ec-2eae90ab9e29/v3/profile?version=2017-10-13

Por el momento todo va bien.

Excelente, rapido y sencillo 😄

Buena tarde, si sale error 404, recuerda colocar /v3/profile?version=2017-10-13 dentro de la “” de la url … como lo indica la guia de IBM.

Saludos.

``` {"code":400,"sub_code":"S00014","error":"The number of words 2 is less than the minimum number of words required for analysis: 100"} ``` Me encontré con este error, descubrí que por accidente eliminé la arroba (@) de la ruta del archivo del perfil. La agregué y se solucinó

Si estas trabajando en windows 10, no uses ni el CMD ni el powerhSell, no permite ejecutar correctamente los comandos, usa el git bash. Para poder usar el archivo profile.txt asegurate de estar en la carpeta donde lo tienes guardado.

Después de muchos intentos lo logré gracias a los aportes de los demás compañeros.

Interesante tema… aunque casi no me funciona… pero lo logre aqui mi codigo

y el resultado

Casi no me funciona pero lo logre… aqui el codigo usado en CMD

y el resultado en jsonbeautifier

Buenísimo. 😃

Para Win 7 usen CYGWIN, cuando lo esten instalando en Preferencias seleccionan Net y clickean para CURL. la instalacion demora pero funciona. Ya dentro del terminal de Cygwin utilicen el comando PWD para determinar la carpeta donde esta ubicada la Raiz de la terminal, en dicha carpeta deben tener el archivo profile.TXT para lograr ejecutar la solicitud a Watson.

¿Como se pueden obtener eso datos de manera manual? ¿IBM y las empresas en general las usan para evaluar a los empleados antes de contratarlos?

Algunos casos de uso Personality Insights IBM - Watson

Es bastante desafortunado ver el poco interés en querer enseñarle a personas que no tiene conocimiento en estas áreas; de donde sale? por que? como se hace? … etc.

Para no enredarse con instalar cURL, no tener bash en Windows y demás, simplemente usen la terminal integrada en IBM cloud.

https://cloud.ibm.com/shell

Buen día me pueden colaborar con el siguiente error, utilizo Windows y estoy ejecutando desde la consola CMD y me arroja el erro:

<HTML><HEAD><TITLE>Error</TITLE></HEAD><BODY>
An error occurred while processing your request.<p>
Reference #179.d652db17.1593115454.1fa112b1
</BODY></HTML>

no entiendo esta sentecia de codigo en linux que hace y que es lo que toca hacer:
curl request profile.txt

Para aquellos que tiene problemas con ejecutar curl desde consola en Windows, pueden probar usando el software Postman, desde ahí también se puede. Les dejo el enlace de descarga.

[https://www.postman.com/downloads/

📌 Deprecated: IBM® will begin sunsetting IBM Watson™ Personality Insights on 1 December 2020. For a period of one year from this date, you will still be able to use Watson Personality Insights. However, as of 1 December 2021, the offering will no longer be available.

As an alternative, we encourage you to consider migrating to IBM Watson™ Natural Language Understanding, a service on IBM Cloud® that uses deep learning to extract data and insights from text such as keywords, categories, sentiment, emotion, and syntax to provide insights for your business or industry. For more information, see https://cloud.ibm.com/apidocs/personality-insights

en que me equivoque?


C:\Users\Brandon\Desktop\wATson>curl -X POST -u "apikey:1W0HYwO8PNMm20zMxvo4RbTKc7eW612a2qsXfq3iXzT5" ^
¿Más? -header "Content-Type: text/plain;charset=utf-8" ^
¿Más? -header "Accept: application/json" ^
¿Más? -data-binary @profile.txt ^
¿Más? "https://api.eu-gb.personality-insights.watson.cloud.ibm.com/instances/9ec4d5bd-5226-4119-9f9f-4b0457f2f3eb/v3/profile?version=2017-10-13"
Usage: curl [options...] <url>
     --abstract-unix-socket <path> Connect via abstract Unix domain socket
     --anyauth       Pick any authentication method
 -a, --append        Append to target file when uploading
     --basic         Use HTTP Basic Authentication
     --cacert <CA certificate> CA certificate to verify peer against
     --capath <dir>  CA directory to verify peer against
 -E, --cert <certificate[:password]> Client certificate file and password
     --cert-status   Verify the status of the server certificate
     --cert-type <type> Certificate file type (DER/PEM/ENG)
     --ciphers <list of ciphers> SSL ciphers to use
     --compressed    Request compressed response
 -K, --config <file> Read config from a file
     --connect-timeout <seconds> Maximum time allowed for connection
     --connect-to <HOST1:PORT1:HOST2:PORT2> Connect to host
 -C, --continue-at <offset> Resumed transfer offset
 -b, --cookie <data> Send cookies from string/file
 -c, --cookie-jar <filename> Write cookies to <filename> after operation
     --create-dirs   Create necessary local directory hierarchy
     --crlf          Convert LF to CRLF in upload
     --crlfile <file> Get a CRL list in PEM format from the given file
 -d, --data <data>   HTTP POST data
     --data-ascii <data> HTTP POST ASCII data
     --data-binary <data> HTTP POST binary data
     --data-raw <data> HTTP POST data, '@' allowed
     --data-urlencode <data> HTTP POST data url encoded
     --delegation <LEVEL> GSS-API delegation permission
     --digest        Use HTTP Digest Authentication
 -q, --disable       Disable .curlrc
     --disable-eprt  Inhibit using EPRT or LPRT
     --disable-epsv  Inhibit using EPSV
     --dns-interface <interface> Interface to use for DNS requests
     --dns-ipv4-addr <address> IPv4 address to use for DNS requests
     --dns-ipv6-addr <address> IPv6 address to use for DNS requests
     --dns-servers <addresses> DNS server addrs to use
 -D, --dump-header <filename> Write the received headers to <filename>
     --egd-file <file> EGD socket path for random data
     --engine <name> Crypto engine to use
     --expect100-timeout <seconds> How long to wait for 100-continue
 -f, --fail          Fail silently (no output at all) on HTTP errors
     --fail-early    Fail on first transfer error, do not continue
     --false-start   Enable TLS False Start
 -F, --form <name=content> Specify HTTP multipart POST data
     --form-string <name=string> Specify HTTP multipart POST data
     --ftp-account <data> Account data string
     --ftp-alternative-to-user <command> String to replace USER [name]
     --ftp-create-dirs Create the remote dirs if not present
     --ftp-method <method> Control CWD usage
     --ftp-pasv      Use PASV/EPSV instead of PORT
 -P, --ftp-port <address> Use PORT instead of PASV
     --ftp-pret      Send PRET before PASV
     --ftp-skip-pasv-ip Skip the IP address for PASV
     --ftp-ssl-ccc   Send CCC after authenticating
     --ftp-ssl-ccc-mode <active/passive> Set CCC mode
     --ftp-ssl-control Require SSL/TLS for FTP login, clear for transfer
 -G, --get           Put the post data in the URL and use GET
 -g, --globoff       Disable URL sequences and ranges using {} and []
 -I, --head          Show document info only
 -H, --header <header/@file> Pass custom header(s) to server
 -h, --help          This help text
     --hostpubmd5 <md5> Acceptable MD5 hash of the host public key
 -0, --http1.0       Use HTTP 1.0
     --http1.1       Use HTTP 1.1
     --http2         Use HTTP 2
     --http2-prior-knowledge Use HTTP 2 without HTTP/1.1 Upgrade
     --ignore-content-length Ignore the size of the remote resource
 -i, --include       Include protocol response headers in the output
 -k, --insecure      Allow insecure server connections when using SSL
     --interface <name> Use network INTERFACE (or address)
 -4, --ipv4          Resolve names to IPv4 addresses
 -6, --ipv6          Resolve names to IPv6 addresses
 -j, --junk-session-cookies Ignore session cookies read from file
     --keepalive-time <seconds> Interval time for keepalive probes
     --key <key>     Private key file name
     --key-type <type> Private key file type (DER/PEM/ENG)
     --krb <level>   Enable Kerberos with security <level>
     --libcurl <file> Dump libcurl equivalent code of this command line
     --limit-rate <speed> Limit transfer speed to RATE
 -l, --list-only     List only mode
     --local-port <num/range> Force use of RANGE for local port numbers
 -L, --location      Follow redirects
     --location-trusted Like --location, and send auth to other hosts
     --login-options <options> Server login options
     --mail-auth <address> Originator address of the original email
     --mail-from <address> Mail from this address
     --mail-rcpt <address> Mail from this address
 -M, --manual        Display the full manual
     --max-filesize <bytes> Maximum file size to download
     --max-redirs <num> Maximum number of redirects allowed
 -m, --max-time <time> Maximum time allowed for the transfer
     --metalink      Process given URLs as metalink XML file
     --negotiate     Use HTTP Negotiate (SPNEGO) authentication
 -n, --netrc         Must read .netrc for user name and password
     --netrc-file <filename> Specify FILE for netrc
     --netrc-optional Use either .netrc or URL
 -:, --next          Make next URL use its separate set of options
     --no-alpn       Disable the ALPN TLS extension
 -N, --no-buffer     Disable buffering of the output stream
     --no-keepalive  Disable TCP keepalive on the connection
     --no-npn        Disable the NPN TLS extension
     --no-sessionid  Disable SSL session-ID reusing
     --noproxy <no-proxy-list> List of hosts which do not use proxy
     --ntlm          Use HTTP NTLM authentication
     --ntlm-wb       Use HTTP NTLM authentication with winbind
     --oauth2-bearer <token> OAuth 2 Bearer Token
 -o, --output <file> Write to file instead of stdout
     --pass <phrase> Pass phrase for the private key
     --path-as-is    Do not squash .. sequences in URL path
     --pinnedpubkey <hashes> FILE/HASHES Public key to verify peer against
     --post301       Do not switch to GET after following a 301
     --post302       Do not switch to GET after following a 302
     --post303       Do not switch to GET after following a 303
     --preproxy [protocol://]host[:port] Use this proxy first
 -#, --progress-bar  Display transfer progress as a bar
     --proto <protocols> Enable/disable PROTOCOLS
     --proto-default <protocol> Use PROTOCOL for any URL missing a scheme
     --proto-redir <protocols> Enable/disable PROTOCOLS on redirect
 -x, --proxy [protocol://]host[:port] Use this proxy
     --proxy-anyauth Pick any proxy authentication method
     --proxy-basic   Use Basic authentication on the proxy
     --proxy-cacert <file> CA certificate to verify peer against for proxy
     --proxy-capath <dir> CA directory to verify peer against for proxy
     --proxy-cert <cert[:passwd]> Set client certificate for proxy
     --proxy-cert-type <type> Client certificate type for HTTS proxy
     --proxy-ciphers <list> SSL ciphers to use for proxy
     --proxy-crlfile <file> Set a CRL list for proxy
     --proxy-digest  Use Digest authentication on the proxy
     --proxy-header <header/@file> Pass custom header(s) to proxy
     --proxy-insecure Do HTTPS proxy connections without verifying the proxy
     --proxy-key <key> Private key for HTTPS proxy
     --proxy-key-type <type> Private key file type for proxy
     --proxy-negotiate Use HTTP Negotiate (SPNEGO) authentication on the proxy
     --proxy-ntlm    Use NTLM authentication on the proxy
     --proxy-pass <phrase> Pass phrase for the private key for HTTPS proxy
     --proxy-service-name <name> SPNEGO proxy service name
     --proxy-ssl-allow-beast Allow security flaw for interop for HTTPS proxy
     --proxy-tlsauthtype <type> TLS authentication type for HTTPS proxy
     --proxy-tlspassword <string> TLS password for HTTPS proxy
     --proxy-tlsuser <name> TLS username for HTTPS proxy
     --proxy-tlsv1   Use TLSv1 for HTTPS proxy
 -U, --proxy-user <user:password> Proxy user and password
     --proxy1.0 <host[:port]> Use HTTP/1.0 proxy on given port
 -p, --proxytunnel   Operate through a HTTP proxy tunnel (using CONNECT)
     --pubkey <key>  SSH Public key file name
 -Q, --quote         Send command(s) to server before transfer
     --random-file <file> File for reading random data from
 -r, --range <range> Retrieve only the bytes within RANGE
     --raw           Do HTTP "raw"; no transfer decoding
 -e, --referer <URL> Referrer URL
 -J, --remote-header-name Use the header-provided filename
 -O, --remote-name   Write output to a file named as the remote file
     --remote-name-all Use the remote file name for all URLs
 -R, --remote-time   Set the remote file's time on the local output
 -X, --request <command> Specify request command to use
     --request-target Specify the target for this request
     --resolve <host:port:address> Resolve the host+port to this address
     --retry <num>   Retry request if transient problems occur
     --retry-connrefused Retry on connection refused (use with --retry)
     --retry-delay <seconds> Wait time between retries
     --retry-max-time <seconds> Retry only within this period
     --sasl-ir       Enable initial response in SASL authentication
     --service-name <name> SPNEGO service name
 -S, --show-error    Show error even when -s is used
 -s, --silent        Silent mode
     --socks4 <host[:port]> SOCKS4 proxy on given host + port
     --socks4a <host[:port]> SOCKS4a proxy on given host + port
     --socks5 <host[:port]> SOCKS5 proxy on given host + port
     --socks5-basic  Enable username/password auth for SOCKS5 proxies
     --socks5-gssapi Enable GSS-API auth for SOCKS5 proxies
     --socks5-gssapi-nec Compatibility with NEC SOCKS5 server
     --socks5-gssapi-service <name> SOCKS5 proxy service name for GSS-API
     --socks5-hostname <host[:port]> SOCKS5 proxy, pass host name to proxy
 -Y, --speed-limit <speed> Stop transfers slower than this
 -y, --speed-time <seconds> Trigger 'speed-limit' abort after this time
     --ssl           Try SSL/TLS
     --ssl-allow-beast Allow security flaw to improve interop
     --ssl-no-revoke Disable cert revocation checks (WinSSL)
     --ssl-reqd      Require SSL/TLS
 -2, --sslv2         Use SSLv2
 -3, --sslv3         Use SSLv3
     --stderr        Where to redirect stderr
     --suppress-connect-headers Suppress proxy CONNECT response headers
     --tcp-fastopen  Use TCP Fast Open
     --tcp-nodelay   Use the TCP_NODELAY option
 -t, --telnet-option <opt=val> Set telnet option
     --tftp-blksize <value> Set TFTP BLKSIZE option
     --tftp-no-options Do not send any TFTP options
 -z, --time-cond <time> Transfer based on a time condition
     --tls-max <VERSION> Use TLSv1.0 or greater
     --tlsauthtype <type> TLS authentication type
     --tlspassword   TLS password
     --tlsuser <name> TLS user name
 -1, --tlsv1         Use TLSv1.0 or greater
     --tlsv1.0       Use TLSv1.0
     --tlsv1.1       Use TLSv1.1
     --tlsv1.2       Use TLSv1.2
     --tlsv1.3       Use TLSv1.3
     --tr-encoding   Request compressed transfer encoding
     --trace <file>  Write a debug trace to FILE
     --trace-ascii <file> Like --trace, but without hex output
     --trace-time    Add time stamps to trace/verbose output
     --unix-socket <path> Connect through this Unix domain socket
 -T, --upload-file <file> Transfer local FILE to destination
     --url <url>     URL to work with
 -B, --use-ascii     Use ASCII/text transfer
 -u, --user <user:password> Server user and password
 -A, --user-agent <name> Send User-Agent <name> to server
 -v, --verbose       Make the operation more talkative
 -V, --version       Show version number and quit
 -w, --write-out <format> Use output FORMAT after completion
     --xattr         Store metadata in extended file attributes```