Giter Club home page Giter Club logo

everything-curl's Introduction

curl logo

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.

Contact

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.

Commercial support

For commercial support, maybe private and dedicated help with your problems or applications using (lib)curl visit the support page.

Website

Visit the curl website for the latest news and downloads.

Git

To download the latest source from the Git server, do this:

git clone https://github.com/curl/curl.git

(you will get a directory named curl created, filled with the source code)

Security problems

Report suspected security problems via our HackerOne page and not in public.

Notice

Curl contains pieces of source code that is Copyright (c) 1998, 1999 Kungliga Tekniska Högskolan. This notice is included here to comply with the distribution terms.

Backers

Thank you to all our backers! 🙏 Become a backer.

Sponsors

Support this project by becoming a sponsor.

everything-curl's People

Contributors

alawvt avatar amnkh avatar auktis avatar bagder avatar balki avatar bbodenmiller avatar brianebert avatar captain-caveman2k avatar ceh avatar chrmns avatar dandv avatar dfandrich avatar djbrown avatar enachos71 avatar fabiankeil avatar i-ky avatar inquisitivecrystal avatar jay avatar jwigert avatar krunch3r76 avatar levure avatar linhub15 avatar man2dev avatar norsegaud avatar potherca avatar raisinten avatar rsteele6 avatar sluicing avatar swebarre avatar zevaverbach avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

everything-curl's Issues

in the way / the idea is similar

The section "Using curl/Proxies/Captive portals" begins with the following note:

(these are not proxies but in the way)

But "in the way" means "blocking the path, literally or figuratively", and I'm pretty sure that wasn't the intention.

"... in a way" would be better, but I think the following note would be clearer and almost as short:

(these are not proxies but the idea is similar)

remove extra "can"

https://ec.haxx.se/libcurl-drive-multi-socket.html

Original:

How to start everything
[...]

To kick it all off, you tell libcurl it timed out (because all easy
handles start out with a short timeout) which will make libcurl call the
callbacks to set things up and from then on you can can just let your
event system drive:

"you can can just" should be "you can just".

License confusion

README.md says "This document is licensed under the [Creative Commons Attribution 4.0 license]" but the LICENSE file says public domain. Which is correct?

199 -> 1199

http-ranges
Get 200 bytes from index 0 and 200 bytes from index 1000:
curl -r 0-199,1000-199 http://example.com/
->
curl -r 0-199,1000-1199 http://example.com/

Another minor typo

Page 114 in section "Keep alive", paragraph starting "At the same time, lots of network equipments [sic] such as", should probably be "lots of network equipment such as".

"It is a an" should be "It is an"

https://ec.haxx.se/protocols-curl.html

Original:

SMB 
The Server Message Block (SMB) protocol is also known as CIFS. It is
a an application-layer network protocol mainly used for providing shared
access to files, printers, and serial ports and miscellaneous
communications between nodes on a network. SMB servers and clients use
TCP port 445.

In second sentence:

"It is a an" should be "It is an".

ocaml binding http link is outdated

Ocaml curl binding https://sourceforge.net/projects/ocurl/ hasn't been updated since 2012.

Here is updated info from Ocaml package manager opam.

opam show ocurl

<><> ocurl: information on all versions <><><><><><><><><><><><><><><><><><><><>
name         ocurl
all-versions 0.5.4  0.5.5  0.5.6  0.6.0  0.6.1  0.7.0  0.7.1  0.7.2  0.7.5  0.7.6  0.7.7  0.7.8  0.7.9  0.7.10  0.8.0  0.8.1  0.8.2

<><> Version-specific details <><><><><><><><><><><><><><><><><><><><><><><><><>
version       0.8.2
repository    default
url.src:      "http://ygrek.org.ua/p/release/ocurl/ocurl-0.8.2.tar.gz"
url.checksum: "md5=194b65b5abb1e32be17f4d5c8c9a8627"
homepage:     "http://ygrek.org.ua/p/ocurl/"
bug-reports:  "https://github.com/ygrek/ocurl/issues"
dev-repo:     "git://github.com/ygrek/ocurl.git"
authors:      "Lars Nilsson" "ygrek"
maintainer:   "[email protected]"
license:      "MIT"
tags:         "org:ygrek" "clib:curl"
flags:        light-uninstall
depends:      "ocaml" {>= "4.02.0"} "ocamlfind" {build} "base-unix" "conf-libcurl"
depopts:      "lwt"
synopsis      Bindings to libcurl
description   Client-side URL transfer library, supporting HTTP and a multitude of
              other network protocols (FTP/SMTP/RTSP/etc).

Misprint in curl_easy_setopt()

HTTP with libcurl
HTTP request
Request method

       curl_easy_setupt(curl, CURLOPT_CUSTOMREQUEST, "DELETE");
       curl_easy_setupt(curl, CURLOPT_URL, "https://example.com/file.txt");

2017-05-12 11 30 21

I think this example should be written like that:
curl_easy_setopt(curl, CURLOPT_CUSTOMREQUEST, "DELETE");
curl_easy_setopt(curl, CURLOPT_URL, "https://example.com/file.txt");

Unable to copy text from the PDF version

I'm reading the most recent PDF version of the book in the Preview app on macOS (10.13.6). When I highlight any length of text — to look-up via Dictionary, or copy and paste — it is not detected. It is instead treated as an empty string. I've confirmed that this behavior is not present in other PDF documents.

remove extra "name"

https://ec.haxx.se/libcurl-names.html

Original:

Name server options
[...]

This is limited to c-ares build purely because these are powers that are
not available when the standard system calls for name name resolving are
used.

"for name name resolving" should be "for name resolving".

Index

Gitbooks doesn't seem to provide any index feature so finding the chapter again where for example a certain curl option is discussed, is really hard.

I need to write a script to generate an index in markdown to include as the final "chapter".

HTTP/3

The first initial HTTP/3 experimental code has been merged and can do transfers. Time to add some blurb to the book about it...

Minor typo

Page 100, under section "compression", paragraph starting "With this option enabled (and if the server support [sic] it)" should probably read "and if the server supports it".

Keep up the good work; excellent documentation, especially considering what passes elsewhere for documentation these days.

curl

curl not work on win7 ultimate?

wait 25 min and nothing happend

image

translation

Hello, Mr. Daniel.
I am a developer from China. Can I fork this repository and translate it into Chinese? In China, many developers have poor English skills. I think this will help more developers use cURL effectively. Of course, the author's signature is still you. I'm just doing a translation job myself. Thank you. Look forward to your reply.

Cannot get this book

Formats:

  • PDF
  • Mobi
  • ePub

are broken because of gitbook:

 This doesn't happen often, but it looks like something is broken. Hitting the back button and trying again might be your best bet. If that doesn't work you can head back to the homepage.

There might be more information on our status page which is reporting All Systems Operational. 

In web version only the first 4 pages are available.

Other pages are broken:

> curl https://ec.haxx.se/curl-comm.html
curl: (92) HTTP/2 stream 1 was not closed cleanly: PROTOCOL_ERROR (err 1)

regd. TLS version option and its use

https://ec.haxx.se/usingcurl-tls.html

Original:

--tlsv1.0    TLS >= version 1.0
--tlsv1.1    TLS >= version 1.1
--tlsv1.2    TLS >= version 1.2
--tlsv1.3    TLS >= version 1.3

If I am not wrong, it should be:

--tlsv1.0       Use TLSv1.0
--tlsv1.1       Use TLSv1.1
--tlsv1.2       Use TLSv1.2
--tlsv1.3       Use TLSv1.3

Reference:

$ curl -h | grep -e '--tlsv1'
 -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

Incomplete explanation on page 94

On page 94 the book says the following,

…or even have curl read the string from stdin if you use '-' as filename:
curl -w @- http://example.com/

I tried executing the command and I am still stuck with the input. There is some sort of continuity which is missing that says how to get the command to resume after giving standard input.

Grammar in "When is a single transfer done?"

Last paragraph of page 216, starting "When you do multiple ... in the same curl_multi_perform invoke [sic] and then you might need", could be improved, presumably to something like "in the same curl_multi_perform invocation and then you might need".

Really good documentation; these all just minor mistakes.

TCP keepalive time unclear

Page 114 again, section "Keep alive", it says curl defaults to 60 seconds for the "TCP pings". Page 116 section "Keep connections alive" says "the default value is usually set to 7200, which is two full hours". So is it 60 or 7200 seconds?

extra "they" should be removed

https://ec.haxx.se/usingcurl-copyas.html

Original:

Not perfect

These methods all give you a command line to reproduce their HTTP
transfers. You will also learn they they are still often not the perfect
solution to your problems.

In the second sentence:

"You will also learn they they are" should be "You will also learn they are".

"so" should be "do"

https://ec.haxx.se/http-browserlike.html

Original:

Web logins and sessions

[...]

Many login pages even send you a session cookie already when presenting
the login, and since you often need to extract the hidden fields from
the <form> tag anyway, you could so something like this first:

"you could so something" should be "you could do something".

Wrong command to disable FTP active connect

Using curl
FTP
Two connections

You can also explicitly ask curl to not use EPRT (which is a slightly newer command than PORT) with the --no-epsv command-line option.
2017-07-06 11 28 34

Probably meant the command: --no-eprt

"Javascript" vs. "JavaScript"

I'm not sure if an issue is the way to do this, but… We're currently using the former version, but the latter is more standard. Of course, every project has it's own style, so I wanted to ask. In the meantime I've made a branch of my fork with the change: bookofportals/everything-curl@3ffb0b8. @bagder: which one should we use?

"convering" - typo?

https://ec.haxx.se/building-source.html

Original:

On Linux and Unix-like systems

[...]

The configure based build is arguably the more mature and more convering
build system and should probably be considered the default one.

"convering" -- looks like this word is wrong. If so, please correct.

Typo/grammar for "Drive" transfers

Page 212 in the section "Drive" transfers, "2. The 'multi' interface is for when you want to do more than one transfer at the same time, or you just want an [sic] non-blocking transfer mechanism.". Would be better as "or you just want a non-blocking transfer".

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.