curl | command line tool and library for transferring data | FTP library

 by   curl C Version: 7.82.0 License: Non-SPDX

kandi X-RAY | curl Summary

kandi X-RAY | curl Summary

curl is a C library typically used in Networking, FTP applications. curl has no bugs and it has medium support. However curl has 2 vulnerabilities and it has a Non-SPDX License. You can download it from GitHub.

Curl is a command-line tool for transferring data specified with URL syntax. Find out how to use curl by reading the curl.1 man page or the MANUAL document. Find out how to install Curl by reading the INSTALL document. libcurl is the library curl is using to do its job. It is readily available to be used by your software. Read the libcurl.3 man page to learn how. You can find answers to the most frequent questions we get in the FAQ document. Study the COPYING file for distribution terms.

            kandi-support Support

              curl has a medium active ecosystem.
              It has 30428 star(s) with 5808 fork(s). There are 764 watchers for this library.
              It had no major release in the last 12 months.
              There are 49 open issues and 3891 have been closed. On average issues are closed in 8 days. There are 34 open pull requests and 0 closed requests.
              It has a neutral sentiment in the developer community.
              The latest version of curl is 7.82.0

            kandi-Quality Quality

              curl has 0 bugs and 5 code smells.

            kandi-Security Security

              curl has 2 vulnerability issues reported (1 critical, 1 high, 0 medium, 0 low).
              curl code analysis shows 0 unresolved vulnerabilities.
              There are 0 security hotspots that need review.

            kandi-License License

              curl has a Non-SPDX License.
              Non-SPDX licenses can be open source with a non SPDX compliant license, or non open source licenses, and you need to review them closely before use.

            kandi-Reuse Reuse

              curl releases are available to install and integrate.
              Installation instructions are not available. Examples and code snippets are available.
              It has 632 lines of code, 36 functions and 16 files.
              It has low code complexity. Code complexity directly impacts maintainability of the code.

            Top functions reviewed by kandi - BETA

            kandi's functional review helps you automatically verify the functionalities of the libraries and avoid rework.
            Currently covering the most popular Java, JavaScript and Python libraries. See a Sample of curl
            Get all kandi verified functions for this library.

            curl Key Features

            No Key Features are available at this moment for curl.

            curl Examples and Code Snippets

            MicroProfile LRA - How to define custom participant URI on a WildFly JEE application?
            Lines of Code : 10dot img1License : Strong Copyleft (CC BY-SA 4.0)
            copy iconCopy
            $ curl localhost:8080/uriinfo/ping
            Base URI is http://localhost:8080/uriinfo/
            $ curl
            Base URI is http://uriinfo-wildfly-testing.6923.rh-us-east-1.openshiftapp
            How do I extract only timestamp and date at my curl script?
            Lines of Code : 7dot img2License : Strong Copyleft (CC BY-SA 4.0)
            copy iconCopy
              echo "• $(date -Is):"
              while read URL; do
                curl -o /dev/null --silent --head --write-out "  %{http_code} $URL\n" "$URL";
            ) >/home/otto/Desktop/test_results.txt
            Why do IP addresses given by dig not work?
            Lines of Code : 3dot img3License : Strong Copyleft (CC BY-SA 4.0)
            copy iconCopy
            curl -I # This will give an error
            curl -I -H "Host:" # Specifying the host redirects to the correct website
            How can I use WGET to get only status info and save it somewhere?
            Lines of Code : 2dot img4License : Strong Copyleft (CC BY-SA 4.0)
            copy iconCopy
            curl -L -o /dev/null -s -w "%{http_code}\n" >> status.txt
            OAuth : remove third party access
            Lines of Code : 18dot img5License : Strong Copyleft (CC BY-SA 4.0)
            copy iconCopy
            curl -d -X -POST --header "Content-type:application/x-www-form-urlencoded" \
             UserCredential cred = await GoogleWebAuthorizationBroker.AuthorizeAsync(
            Running Curl Command in Jenkins Behind Corporative Proxy
            Lines of Code : 8dot img6License : Strong Copyleft (CC BY-SA 4.0)
            copy iconCopy
            sh '''
                            curl -s --proxy ://: -X \
                            POST${TOKEN}/sendMessage \
                            -d chat_id=${CHAT_ID} \
                            -d parse_mode="HTML" \
                            -d text="🚀  Jenkins
            Installing kong with postgresql and add service with REST API
            Lines of Code : 79dot img7License : Strong Copyleft (CC BY-SA 4.0)
            copy iconCopy
            helm install postgres cetic/postgresql -n kong \
            --set postgresql.username=kong \
            --set postgresql.password=kong \
            --set postgresql.database=kong \
            --set postgresql.port=5432
            helm install kong -n kong  bitnami/kong
            Vercel won't build Gatsby site because of missing 404 page
            Lines of Code : 3dot img8License : Strong Copyleft (CC BY-SA 4.0)
            copy iconCopy
            % curl
            {"error":"Not found"}
            Linux Mint 20.x Ubuntu-based / Can't install pgadmin4
            Lines of Code : 27dot img9License : Strong Copyleft (CC BY-SA 4.0)
            copy iconCopy
            # Setup the repository
            # Install the public key for the repository (if not done previously):
            sudo curl | sudo apt-key add
            # Create the repository configuration file:
            # SEE MODIF
            curl code : stop send http request when it reach specific amount?
            Lines of Code : 20dot img10License : Strong Copyleft (CC BY-SA 4.0)
            copy iconCopy
            while true # loop forever, until ctrl+c pressed.
                for i in $(seq 10) # perfrom the inner command 10 times.
                count=$(expr $count + 1) # increments +1
                curl -sk $target >

            Community Discussions


            Fixing git HTTPS Error: "bad key length" on macOS 12
            Asked 2022-Mar-29 at 17:34

            I am using a company-hosted (Bitbucket) git repository that is accessible via HTTPS. Accessing it (e.g. git fetch) worked using macOS 11 (Big Sur), but broke after an update to macOS 12 Monterey. *

            After the update of macOS to 12 Monterey my previous git setup broke. Now I am getting the following error message:



            Answered 2021-Nov-02 at 07:12

            Unfortunately I can't provide you with a fix, but I've found a workaround for that exact same problem (company-hosted bitbucket resulting in exact same error). I also don't know exactly why the problem occurs, but my best guess would be that the libressl library shipped with Monterey has some sort of problem with specific (?TLSv1.3) certs. This guess is because the brew-installed openssl v1.1 and v3 don't throw that error when executed with /opt/homebrew/opt/openssl/bin/openssl s_client -connect ...:443

            To get around that error, I've built git from source built against different openssl and curl implementations:

            1. install autoconf, openssl and curl with brew (I think you can select the openssl lib you like, i.e. v1.1 or v3, I chose v3)
            2. clone git version you like, i.e. git clone --branch v2.33.1
            3. cd git
            4. make configure (that is why autoconf is needed)
            5. execute LDFLAGS="-L/opt/homebrew/opt/openssl@3/lib -L/opt/homebrew/opt/curl/lib" CPPFLAGS="-I/opt/homebrew/opt/openssl@3/include -I/opt/homebrew/opt/curl/include" ./configure --prefix=$HOME/git (here LDFLAGS and CPPFLAGS include the libs git will be built against, the right flags are emitted by brew on install success of curl and openssl; --prefix is the install directory of git, defaults to /usr/local but can be changed)
            6. make install
            7. ensure to add the install directory's subfolder /bin to the front of your $PATH to "override" the default git shipped by Monterey
            8. restart terminal
            9. check that git version shows the new version

            This should help for now, but as I already said, this is only a workaround, hopefully Apple fixes their libressl fork ASAP.



            Error: require() of ES modules is not supported when importing node-fetch
            Asked 2022-Mar-28 at 07:04

            I'm creating a program to analyze security camera streams and got stuck on the very first line. At the moment my .js file has nothing but the import of node-fetch and it gives me an error message. What am I doing wrong?

            Running Ubuntu 20.04.2 LTS in Windows Subsystem for Linux.

            Node version:



            Answered 2022-Feb-25 at 00:00

            Use ESM syntax, also use one of these methods before running the file.

            1. specify "type":"module" in package.json
            2. Or use this flag --input-type=module when running the file
            3. Or use .mjs file extension



            Github Actions Failing
            Asked 2022-Feb-25 at 02:08

            Github Actions were working in my repository till yesterday. I didnt make any changes in .github/workflows/dev.yml file or in DockerFile.

            But, suddenly in recent pushes, my Github Actions fail with the error

            Setup, Build, Publish, and Deploy



            Answered 2021-Jul-27 at 13:24

            I fixed it by changing uses value to

            • uses: google-github-actions/setup-gcloud@master



            Kotlin Spring Boot bean validation not working
            Asked 2022-Feb-02 at 07:44

            I have quite a few projects that is slowly being migrated from Java to Kotlin, but I'm facing a problem when changing from Java POJO to Kotlin data classes. Bean validation stops working in REST controllers. I have created a very simple project directly from to demonstrate the failure.



            Answered 2021-Dec-16 at 07:38

            I think you are just missing @Validated annotation on top of your controller class.



            running a vite dev server inside a docker container
            Asked 2021-Dec-28 at 23:42

            I have a Vue-cli app that I'm trying to convert to vite. I am using Docker to run the server. I looked at a couple tutorials and got vite to run in development mode without errors. However, the browser can't access the port. That is, when I'm on my macbook's command line (outside of Docker) I can't curl it:



            Answered 2021-Nov-22 at 15:54

            I figured it out. I needed to add a "host" attribute in the config, so now my vite.config.ts file is:



            Wrong PHP version used when installing composer with Alpine's apk command
            Asked 2021-Dec-23 at 11:20

            I've got a docker image running 8.0 and want to upgrade to 8.1. I have updated the image to run with PHP 8.1 and want to update the dependencies in it.

            The new image derives from php:8.1.1-fpm-alpine3.15

            I've updated the composer.json and changed require.php to ^8.1 but ran into the following message when running composer upgrade:



            Answered 2021-Dec-23 at 11:20

            Huh. This surprised me a bit.

            composer is correctly reporting the PHP version it's using. The problem is that it's not using the "correct" PHP interpreter.

            The issue arises because of how you are installing composer.

            Apparently by doing apk add composer another version of PHP gets installed (you can find it on /usr/bin/php8, this is the one on version 8.0.14).

            Instead of letting apk install composer for you, you can do it manually. There is nothing much to install it in any case, no need to go through the package manager. Particularly since PHP has not been installed via the package manager on your base image.

            I've just removed the line containing composer from the apk add --update command, and added this somewhere below:



            localhost:5000 unavailable in macOS v12 (Monterey)
            Asked 2021-Dec-08 at 14:08

            I cannot access a web server on localhost port 5000 on macOS v12 (Monterey) (Flask or any other).

            E.g., use the built-in HTTP server, I cannot get onto port 5000:



            Answered 2021-Dec-08 at 14:08

            macOS Monterey introduced AirPlay Receiver running on port 5000. This prevents your web server from serving on port 5000. Receiver already has the port.

            You can either:

            1. turn off AirPlay Receiver, or;
            2. run the server on a different port (normally best).

            Turn off AirPlay Receiver

            Go to System Preferences → Sharing → Untick Airplay Receiver.

            See more details

            You should be able to rerun the server now on port 5000 and get a response:



            Can cURL detect 307 response?
            Asked 2021-Nov-25 at 07:41

            For my research I need to cURL the fqdns and get their status codes. (For Http, Https services) But some http urls open as https although it returns 200 with cURL. (successful request, no redirect)



            Answered 2021-Nov-25 at 07:41
            curl -w '%{response_code}\n' -so /dev/null $URL



            Error: curl_easy_setopt: 48 @ Downloads.Curl
            Asked 2021-Nov-11 at 15:56

            I am downloading Flux.jl through the REPL in VS Code in a newly created environment. When I added the package via the package manager, I got a a bunch of errors as shown below:



            Answered 2021-Nov-11 at 15:56

            See The fix will be included in the upcoming Julia 1.6.4 and Julia 1.7.0 releases. (The error is caused by a change in macOS Monterey, which resulted in Julia finding and loading the wrong dynamic libraries.)

            This happened probably 100 times but it still seems like the package installed correctly. Is there anything further I need to do here?

            Probably not; Julia package manager falls back to installing packages from git if https download fails.



            Cannot connect to a dockerized Express.js app from another docker container
            Asked 2021-Nov-01 at 11:36

            I have two containers App and Webserver. Webserver is plain nginx:alpine image and App is expressjs app running on port 3030 under ubuntu:focal. I heard that this is a common practise to use separate containers for application and server. So I added proxy_pass http://app:3030/; to nginx config. Something went wrong and I digged into this a bit. To exclude incorrect nginx setup I checked raw curl requests from webserver to app container with no luck. Here is my docker-compose:



            Answered 2021-Oct-29 at 16:24

            You need to at least expose the 3030 port on the app container to make it available to other containers:


            Community Discussions, Code Snippets contain sources that include Stack Exchange Network


            No vulnerabilities reported

            Install curl

            You can download it from GitHub.


            If you have problems, questions, ideas or suggestions, please contact us by posting to a suitable mailing list. All contributors to the project are listed in the THANKS document.
            Find more information at:

            Find, review, and download reusable Libraries, Code Snippets, Cloud APIs from over 650 million Knowledge Items

            Find more libraries
          • HTTPS


          • CLI

            gh repo clone curl/curl

          • sshUrl


          • Stay Updated

            Subscribe to our newsletter for trending solutions and developer bootcamps

            Agree to Sign up and Terms & Conditions

            Share this Page

            share link

            Explore Related Topics

            Reuse Pre-built Kits with curl

            Consider Popular FTP Libraries


            by curl


            by git-ftp


            by drakkan


            by robinrodricks


            by giampaolo

            Try Top Libraries by curl


            by curlC


            by curlShell


            by curlC


            by curlC


            by curlPerl