<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Curl on kenji.blog</title><link>http://kenji.blog/es/tags/curl/</link><description>Recent content in Curl on kenji.blog</description><generator>Hugo -- gohugo.io</generator><language>es</language><copyright>kenjinote</copyright><lastBuildDate>Mon, 07 Jul 2025 21:46:08 +0900</lastBuildDate><atom:link href="http://kenji.blog/es/tags/curl/index.xml" rel="self" type="application/rss+xml"/><item><title>[Para principiantes] Pasos para introducir libcurl (compatible con OpenSSL) en Visual Studio usando vcpkg</title><link>http://kenji.blog/es/p/vcpkg-%E3%82%92%E4%BD%BF%E3%81%A3%E3%81%A6-visual-studio-%E3%81%AB-curl-%E3%82%92%E3%82%A4%E3%83%B3%E3%82%B9%E3%83%88%E3%83%BC%E3%83%AB/</link><pubDate>Mon, 07 Jul 2025 21:46:08 +0900</pubDate><guid>http://kenji.blog/es/p/vcpkg-%E3%82%92%E4%BD%BF%E3%81%A3%E3%81%A6-visual-studio-%E3%81%AB-curl-%E3%82%92%E3%82%A4%E3%83%B3%E3%82%B9%E3%83%88%E3%83%BC%E3%83%AB/</guid><description>&lt;img src="http://kenji.blog/p/vcpkg-%E3%82%92%E4%BD%BF%E3%81%A3%E3%81%A6-visual-studio-%E3%81%AB-curl-%E3%82%92%E3%82%A4%E3%83%B3%E3%82%B9%E3%83%88%E3%83%BC%E3%83%AB/img.png" alt="Featured image of post [Para principiantes] Pasos para introducir libcurl (compatible con OpenSSL) en Visual Studio usando vcpkg" />&lt;h2 id="si-desea-usar-libcurl-compatible-con-openssl-en-visual-studio-la-introducción-de-vcpkg-es-fácil-y-recomendada">Si desea usar libcurl (compatible con OpenSSL) en Visual Studio, la introducción de vcpkg es fácil y recomendada
&lt;/h2>&lt;p>Cuando se quiere manejar comunicación HTTP en C++, &lt;code>libcurl&lt;/code> se usa a menudo. Pero, construir y ajustar dependencias es sorprendentemente molesto, ¿verdad?&lt;/p>
&lt;p>Ahí es donde &amp;ldquo;&lt;strong>vcpkg&lt;/strong>&amp;rdquo;, una herramienta de gestión de bibliotecas de C++ de Microsoft, resulta útil.
En esta ocasión, introduciremos los pasos para usar &lt;code>vcpkg&lt;/code> para instalar &lt;code>libcurl&lt;/code> (compatible con OpenSSL) y poder usarlo fluidamente en Visual Studio.&lt;/p>
&lt;hr>
&lt;h3 id="instalación-de-vcpkg-sólo-para-quienes-no-lo-tengan">Instalación de vcpkg (sólo para quienes no lo tengan)
&lt;/h3>&lt;p>Primero, instalemos &lt;code>vcpkg&lt;/code>. Por favor, ejecute los siguientes pasos en PowerShell.&lt;/p>
&lt;div class="highlight">&lt;div class="chroma">
&lt;table class="lntable">&lt;tr>&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code>&lt;span class="lnt">1
&lt;/span>&lt;span class="lnt">2
&lt;/span>&lt;span class="lnt">3
&lt;/span>&lt;/code>&lt;/pre>&lt;/td>
&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code class="language-powershell" data-lang="powershell">&lt;span class="line">&lt;span class="cl">&lt;span class="n">git&lt;/span> &lt;span class="n">clone&lt;/span> &lt;span class="n">https&lt;/span>&lt;span class="err">:&lt;/span>&lt;span class="p">//&lt;/span>&lt;span class="n">github&lt;/span>&lt;span class="p">.&lt;/span>&lt;span class="n">com&lt;/span>&lt;span class="p">/&lt;/span>&lt;span class="n">microsoft&lt;/span>&lt;span class="p">/&lt;/span>&lt;span class="n">vcpkg&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="nb">cd &lt;/span>&lt;span class="n">vcpkg&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="p">.\&lt;/span>&lt;span class="nb">bootstrap-vcpkg&lt;/span>&lt;span class="p">.&lt;/span>&lt;span class="py">bat&lt;/span>
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/td>&lt;/tr>&lt;/table>
&lt;/div>
&lt;/div>&lt;p>※ Si Git aún no está instalado, por favor, instálelo desde el &lt;a class="link" href="https://git-scm.com/" target="_blank" rel="noopener"
>sitio web oficial de Git&lt;/a>.&lt;/p>
&lt;hr>
&lt;h3 id="instalación-de-libcurl-compatible-con-openssl">Instalación de libcurl (compatible con OpenSSL)
&lt;/h3>&lt;p>A continuación, usaremos vcpkg para instalar &lt;code>libcurl&lt;/code>. Para especificar la versión de 64 bits compatible con OpenSSL, ejecute el siguiente comando:&lt;/p>
&lt;div class="highlight">&lt;div class="chroma">
&lt;table class="lntable">&lt;tr>&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code>&lt;span class="lnt">1
&lt;/span>&lt;/code>&lt;/pre>&lt;/td>
&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code class="language-powershell" data-lang="powershell">&lt;span class="line">&lt;span class="cl">&lt;span class="n">vcpkg&lt;/span> &lt;span class="n">install&lt;/span> &lt;span class="n">curl&lt;/span>&lt;span class="p">[&lt;/span>&lt;span class="no">ssl&lt;/span>&lt;span class="p">]&lt;/span> &lt;span class="p">-&lt;/span>&lt;span class="n">-triplet&lt;/span> &lt;span class="nb">x64-windows&lt;/span>
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/td>&lt;/tr>&lt;/table>
&lt;/div>
&lt;/div>&lt;p>Cuando se ejecuta este comando, las dependencias necesarias (como OpenSSL) también se configurarán automáticamente.&lt;/p>
&lt;hr>
&lt;h3 id="configuración-de-la-integración-con-visual-studio">Configuración de la integración con Visual Studio
&lt;/h3>&lt;p>Para que las bibliotecas introducidas con vcpkg se puedan usar fácilmente desde proyectos de Visual Studio, configure la integración con el siguiente comando.&lt;/p>
&lt;div class="highlight">&lt;div class="chroma">
&lt;table class="lntable">&lt;tr>&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code>&lt;span class="lnt">1
&lt;/span>&lt;/code>&lt;/pre>&lt;/td>
&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code class="language-powershell" data-lang="powershell">&lt;span class="line">&lt;span class="cl">&lt;span class="n">vcpkg&lt;/span> &lt;span class="n">integrate&lt;/span> &lt;span class="n">install&lt;/span>
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/td>&lt;/tr>&lt;/table>
&lt;/div>
&lt;/div>&lt;p>Al hacer esta configuración, &lt;code>#include &amp;lt;curl/curl.h&amp;gt;&lt;/code> se podrá usar automáticamente en el proyecto de Visual Studio, y ya no será necesario configurar manualmente la ruta de la biblioteca o la configuración del enlazador.&lt;/p>
&lt;hr>
&lt;h2 id="conclusión">Conclusión
&lt;/h2>&lt;p>Con esto, la preparación para introducir &lt;code>libcurl&lt;/code> (compatible con OpenSSL) en Visual Studio está completa.&lt;/p>
&lt;ul>
&lt;li>Usando vcpkg, las dependencias molestas se pueden gestionar todas a la vez&lt;/li>
&lt;li>Instale fácilmente libcurl con &lt;code>vcpkg install curl[ssl] --triplet x64-windows&lt;/code>&lt;/li>
&lt;li>La integración automática con Visual Studio es posible con &lt;code>vcpkg integrate install&lt;/code>&lt;/li>
&lt;/ul>
&lt;p>Después de esto, incluya los encabezados en el proyecto y comience a desarrollar usando la API de libcurl.
Aproveche el conveniente vcpkg para aumentar enormemente la eficiencia de su desarrollo.&lt;/p></description></item><item><title>Enviar Gmail desde curl</title><link>http://kenji.blog/es/p/gmail%E3%82%92curl%E3%81%8B%E3%82%89%E9%80%81%E3%82%8B/</link><pubDate>Thu, 27 Feb 2025 02:13:31 +0900</pubDate><guid>http://kenji.blog/es/p/gmail%E3%82%92curl%E3%81%8B%E3%82%89%E9%80%81%E3%82%8B/</guid><description>&lt;img src="http://kenji.blog/p/gmail%E3%82%92curl%E3%81%8B%E3%82%89%E9%80%81%E3%82%8B/img.png" alt="Featured image of post Enviar Gmail desde curl" />&lt;h1 id="enviar-gmail-desde-curl">Enviar Gmail desde curl
&lt;/h1>&lt;h2 id="1-obtener-la-contraseña-de-la-aplicación">1. Obtener la contraseña de la aplicación
&lt;/h2>&lt;p>&lt;a class="link" href="https://myaccount.google.com/apppasswords" target="_blank" rel="noopener"
>https://myaccount.google.com/apppasswords&lt;/a>
Haz clic en el enlace de arriba e introduce el nombre de la aplicación.
Guarda la contraseña generada.&lt;/p>
&lt;h2 id="2-enviar-un-correo-electrónico-con-el-comando-curl">2. Enviar un correo electrónico con el comando curl
&lt;/h2>&lt;p>Ejecuta el siguiente comando.&lt;/p>
&lt;p>En el ejemplo de abajo, el contenido del correo electrónico está descrito en mail.txt.&lt;/p>
&lt;div class="highlight">&lt;div class="chroma">
&lt;table class="lntable">&lt;tr>&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code>&lt;span class="lnt">1
&lt;/span>&lt;span class="lnt">2
&lt;/span>&lt;span class="lnt">3
&lt;/span>&lt;span class="lnt">4
&lt;/span>&lt;span class="lnt">5
&lt;/span>&lt;span class="lnt">6
&lt;/span>&lt;/code>&lt;/pre>&lt;/td>
&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code class="language-mail.txt" data-lang="mail.txt">&lt;span class="line">&lt;span class="cl">From: from@gmail.com
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">To: to@gmail.com
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Subject: Correo de prueba
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Content-Type: text/plain; charset=&amp;#34;UTF-8&amp;#34;
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Este es un correo de prueba.
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/td>&lt;/tr>&lt;/table>
&lt;/div>
&lt;/div>&lt;p>Crea el archivo anterior y ejecuta el siguiente comando.&lt;/p>
&lt;div class="highlight">&lt;div class="chroma">
&lt;table class="lntable">&lt;tr>&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code>&lt;span class="lnt">1
&lt;/span>&lt;/code>&lt;/pre>&lt;/td>
&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code class="language-bash" data-lang="bash">&lt;span class="line">&lt;span class="cl">curl --url &lt;span class="s2">&amp;#34;smtps://smtp.gmail.com:465&amp;#34;&lt;/span> --ssl-reqd --mail-from &lt;span class="s2">&amp;#34;from@gmail.com&amp;#34;&lt;/span> --mail-rcpt &lt;span class="s2">&amp;#34;to@gmail.com&amp;#34;&lt;/span> --user &lt;span class="s2">&amp;#34;from@gmail.com:xxxxxxxxxxxxxxxx&amp;#34;&lt;/span> --upload-file mail.txt
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/td>&lt;/tr>&lt;/table>
&lt;/div>
&lt;/div>&lt;p>※ Sustituye xxxxxxxxxxxxxxxx por la contraseña de tu aplicación.&lt;/p></description></item><item><title>Generar código QR con curl</title><link>http://kenji.blog/es/p/curl%E3%81%A7qr%E3%82%B3%E3%83%BC%E3%83%89%E7%94%9F%E6%88%90/</link><pubDate>Tue, 16 Apr 2024 00:42:27 +0900</pubDate><guid>http://kenji.blog/es/p/curl%E3%81%A7qr%E3%82%B3%E3%83%BC%E3%83%89%E7%94%9F%E6%88%90/</guid><description>&lt;img src="http://kenji.blog/p/curl%E3%81%A7qr%E3%82%B3%E3%83%BC%E3%83%89%E7%94%9F%E6%88%90/img.png" alt="Featured image of post Generar código QR con curl" />&lt;h2 id="generar-código-qr-con-curl">Generar código QR con curl
&lt;/h2>&lt;p>Nota: El método presentado devuelve un código QR generado en el lado del servidor, por lo que es posible que se registren logs. Ten cuidado al convertir información confidencial, como información personal, en un código QR.&lt;/p>
&lt;h3 id="método-1">Método 1
&lt;/h3>&lt;p>Este es el método para generar un código QR en el Símbolo del sistema.
&lt;code>qrenco.de&lt;/code> devuelve la respuesta basada en texto.&lt;/p>
&lt;div class="highlight">&lt;div class="chroma">
&lt;table class="lntable">&lt;tr>&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code>&lt;span class="lnt">1
&lt;/span>&lt;/code>&lt;/pre>&lt;/td>
&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code class="language-fallback" data-lang="fallback">&lt;span class="line">&lt;span class="cl">curl qrenco.de/kenji.blog
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/td>&lt;/tr>&lt;/table>
&lt;/div>
&lt;/div>&lt;ul>
&lt;li>Resultado de salida&lt;/li>
&lt;/ul>
&lt;div class="highlight">&lt;div class="chroma">
&lt;table class="lntable">&lt;tr>&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code>&lt;span class="lnt"> 1
&lt;/span>&lt;span class="lnt"> 2
&lt;/span>&lt;span class="lnt"> 3
&lt;/span>&lt;span class="lnt"> 4
&lt;/span>&lt;span class="lnt"> 5
&lt;/span>&lt;span class="lnt"> 6
&lt;/span>&lt;span class="lnt"> 7
&lt;/span>&lt;span class="lnt"> 8
&lt;/span>&lt;span class="lnt"> 9
&lt;/span>&lt;span class="lnt">10
&lt;/span>&lt;span class="lnt">11
&lt;/span>&lt;span class="lnt">12
&lt;/span>&lt;span class="lnt">13
&lt;/span>&lt;span class="lnt">14
&lt;/span>&lt;span class="lnt">15
&lt;/span>&lt;/code>&lt;/pre>&lt;/td>
&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code class="language-fallback" data-lang="fallback">&lt;span class="line">&lt;span class="cl">█████████████████████████████
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">█████████████████████████████
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">████ ▄▄▄▄▄ █ ▄ ▄ █ ▄▄▄▄▄ ████
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">████ █ █ █ ▀▀▀██ █ █ ████
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">████ █▄▄▄█ █▀▀█▀▄█ █▄▄▄█ ████
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">████▄▄▄▄▄▄▄█▄▀ ▀ █▄▄▄▄▄▄▄████
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">████▄ █▀▄ ▄▀█▄▀ ▀██▄▀ ▄████
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">████▀▀▀█ ▄▄ ▄█▄█▀█▀▄██ ▀████
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">████▄▄▄██▄▄█ █▀█ ▄██▀▀█ █████
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">████ ▄▄▄▄▄ █▀█ ▀ ▄▀▄▄▄ ▀████
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">████ █ █ █▄▄ ▄▀▄▀▄ ██ ▀████
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">████ █▄▄▄█ █▀▀█ ▀▄▄▄ ▄▄██████
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">████▄▄▄▄▄▄▄█▄▄███▄▄█▄███▄████
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">█████████████████████████████
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">█████████████████████████████
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/td>&lt;/tr>&lt;/table>
&lt;/div>
&lt;/div>&lt;h4 id="referencia">Referencia
&lt;/h4>&lt;ul>
&lt;li>&lt;a class="link" href="https://qrenco.de/" target="_blank" rel="noopener"
>qrenco.de&lt;/a>&lt;/li>
&lt;/ul>
&lt;h3 id="método-2">Método 2
&lt;/h3>&lt;p>&lt;code>api.qrserver.com&lt;/code> devuelve una imagen.&lt;/p>
&lt;div class="highlight">&lt;div class="chroma">
&lt;table class="lntable">&lt;tr>&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code>&lt;span class="lnt">1
&lt;/span>&lt;/code>&lt;/pre>&lt;/td>
&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code class="language-fallback" data-lang="fallback">&lt;span class="line">&lt;span class="cl">curl -o qr.png &amp;#34;https://api.qrserver.com/v1/create-qr-code/?size=150x150&amp;amp;data=HelloWorld&amp;#34;
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/td>&lt;/tr>&lt;/table>
&lt;/div>
&lt;/div>&lt;ul>
&lt;li>Resultado de salida
&lt;img src="http://kenji.blog/p/curl%E3%81%A7qr%E3%82%B3%E3%83%BC%E3%83%89%E7%94%9F%E6%88%90/qr.png"
width="250"
height="250"
srcset="http://kenji.blog/p/curl%E3%81%A7qr%E3%82%B3%E3%83%BC%E3%83%89%E7%94%9F%E6%88%90/qr_hud34111b99823e39dfc62f9ba667fd5f9_390_480x0_resize_box_3.png 480w, http://kenji.blog/p/curl%E3%81%A7qr%E3%82%B3%E3%83%BC%E3%83%89%E7%94%9F%E6%88%90/qr_hud34111b99823e39dfc62f9ba667fd5f9_390_1024x0_resize_box_3.png 1024w"
loading="lazy"
class="gallery-image"
data-flex-grow="100"
data-flex-basis="240px"
>&lt;/li>
&lt;/ul>
&lt;h4 id="referencia-1">Referencia
&lt;/h4>&lt;ul>
&lt;li>&lt;a class="link" href="https://goqr.me/api/doc/create-qr-code/" target="_blank" rel="noopener"
>QR Code Generator&lt;/a>&lt;/li>
&lt;/ul></description></item></channel></rss>