mirror of
https://github.com/curl/curl.git
synced 2026-08-24 14:03:35 +03:00
parent
86ea3abd41
commit
1495489c41
17 changed files with 62 additions and 67 deletions
14
docs/FAQ.md
14
docs/FAQ.md
|
|
@ -431,10 +431,10 @@ can imagine.
|
|||
|
||||
## What about SOAP, WebDAV, XML-RPC or similar protocols over HTTP?
|
||||
|
||||
curl adheres to the HTTP spec, which basically means you can play with *any*
|
||||
protocol that is built on top of HTTP. Protocols such as SOAP, WebDAV and
|
||||
XML-RPC are all such ones. You can use `-X` to set custom requests and -H to
|
||||
set custom headers (or replace internally generated ones).
|
||||
curl adheres to the HTTP spec, which means you can play with *any* protocol
|
||||
that is built on top of HTTP. Protocols such as SOAP, WebDAV and XML-RPC are
|
||||
all such ones. You can use `-X` to set custom requests and -H to set custom
|
||||
headers (or replace internally generated ones).
|
||||
|
||||
Using libcurl of course also works and you would use the proper library
|
||||
options to do the same.
|
||||
|
|
@ -1330,9 +1330,9 @@ their projects, no matter what license they already have in use.
|
|||
## What are my obligations when using libcurl in my commercial apps?
|
||||
|
||||
Next to none. All you need to adhere to is the MIT-style license (stated in
|
||||
the COPYING file) which basically says you have to include the copyright
|
||||
notice in *all copies* and that you may not use the copyright holder's name
|
||||
when promoting your software.
|
||||
the COPYING file) which says you have to include the copyright notice in *all
|
||||
copies* and that you may not use the copyright holder's name when promoting
|
||||
your software.
|
||||
|
||||
You do not have to release any of your source code.
|
||||
|
||||
|
|
|
|||
15
docs/TODO.md
15
docs/TODO.md
|
|
@ -92,8 +92,8 @@ pings to keep such ones alive even when not actively doing transfers on them.
|
|||
|
||||
Given a URL that for example contains spaces, libcurl could have an option
|
||||
that would try somewhat harder than it does now and convert spaces to %20 and
|
||||
perhaps URL encoded byte values over 128 etc (basically do what the redirect
|
||||
following code already does).
|
||||
perhaps URL encoded byte values over 128 etc (do what the redirect following
|
||||
code already does).
|
||||
|
||||
[curl issue 514](https://github.com/curl/curl/issues/514)
|
||||
|
||||
|
|
@ -880,12 +880,11 @@ See [curl issue 6150](https://github.com/curl/curl/issues/6150)
|
|||
## `-J` and `-O` with %-encoded filenames
|
||||
|
||||
`-J`/`--remote-header-name` does not decode %-encoded filenames. RFC 6266
|
||||
details how it should be done. The can of worm is basically that we have no
|
||||
charset handling in curl and ASCII >=128 is a challenge for us. Not to mention
|
||||
that decoding also means that we need to check for nastiness that is
|
||||
attempted, like `../` sequences and the like. Probably everything to the left
|
||||
of any embedded slashes should be cut off. See
|
||||
https://curl.se/bug/view.cgi?id=1294
|
||||
details how it should be done. The can of worm is that we have no charset
|
||||
handling in curl and ASCII >=128 is a challenge for us. Not to mention that
|
||||
decoding also means that we need to check for nastiness that is attempted,
|
||||
like `../` sequences and the like. Probably everything to the left of any
|
||||
embedded slashes should be cut off. See https://curl.se/bug/view.cgi?id=1294
|
||||
|
||||
`-O` also does not decode %-encoded names, and while it has even less
|
||||
information about the charset involved the process is similar to the `-J`
|
||||
|
|
|
|||
|
|
@ -201,10 +201,9 @@ Example, send two POSTs:
|
|||
|
||||
Sometimes you need to operate on several URLs in a single command line and do
|
||||
different HTTP methods on each. For this, you might enjoy the
|
||||
[`--next`](https://curl.se/docs/manpage.html#-:) option. It is basically a
|
||||
separator that separates a bunch of options from the next. All the URLs
|
||||
before `--next` get the same method and get all the POST data merged into
|
||||
one.
|
||||
[`--next`](https://curl.se/docs/manpage.html#-:) option. It is a separator
|
||||
that separates a bunch of options from the next. All the URLs before `--next`
|
||||
get the same method and get all the POST data merged into one.
|
||||
|
||||
When curl reaches the `--next` on the command line, it resets the method and
|
||||
the POST data and allow a new set.
|
||||
|
|
|
|||
|
|
@ -105,10 +105,10 @@ issues.
|
|||
|
||||
Who is on this list? There are a couple of criteria you must meet, and then we
|
||||
might ask you to join the list or you can ask to join it. It really is not a
|
||||
formal process. We basically only require that you have a long-term presence
|
||||
in the curl project and you have shown an understanding for the project and
|
||||
its way of working. You must have been around for a good while and you should
|
||||
have no plans of vanishing in the near future.
|
||||
formal process. We only require that you have a long-term presence in the curl
|
||||
project and you have shown an understanding for the project and its way of
|
||||
working. You must have been around for a good while and you should have no
|
||||
plans of vanishing in the near future.
|
||||
|
||||
We do not make the list of participants public mostly because it tends to vary
|
||||
somewhat over time and a list somewhere only risks getting outdated.
|
||||
|
|
|
|||
|
|
@ -162,9 +162,9 @@ understanding.
|
|||
# Handle the Easy libcurl
|
||||
|
||||
To use the easy interface, you must first create yourself an easy handle. You
|
||||
need one handle for each easy session you want to perform. Basically, you
|
||||
should use one handle for every thread you plan to use for transferring. You
|
||||
must never share the same handle in multiple threads.
|
||||
need one handle for each easy session you want to perform. You should use one
|
||||
handle for every thread you plan to use for transferring. You must never share
|
||||
the same handle in multiple threads.
|
||||
|
||||
Get an easy handle with
|
||||
~~~c
|
||||
|
|
@ -794,8 +794,8 @@ CURLOPT_PROGRESSDATA(3). libcurl does not touch it.
|
|||
|
||||
# libcurl with C++
|
||||
|
||||
There is basically only one thing to keep in mind when using C++ instead of C
|
||||
when interfacing libcurl:
|
||||
There is only one thing to keep in mind when using C++ instead of C when
|
||||
interfacing libcurl:
|
||||
|
||||
The callbacks CANNOT be non-static class member functions
|
||||
|
||||
|
|
@ -931,8 +931,8 @@ for such innovative actions either!
|
|||
|
||||
## Proxy Auto-Config
|
||||
|
||||
Netscape first came up with this. It is basically a webpage (usually using a
|
||||
.pac extension) with a JavaScript that when executed by the browser with the
|
||||
Netscape first came up with this. It is a webpage (usually using a .pac
|
||||
extension) with a JavaScript that when executed by the browser with the
|
||||
requested URL as input, returns information to the browser on how to connect
|
||||
to the URL. The returned information might be "DIRECT" (which means no proxy
|
||||
should be used), "PROXY host:port" (to tell the browser where the proxy for
|
||||
|
|
|
|||
|
|
@ -275,10 +275,10 @@ New tests are added by finding a free number in `tests/data/Makefile.am`.
|
|||
|
||||
## Write tests
|
||||
|
||||
Here's a quick description on writing test cases. We basically have three
|
||||
kinds of tests: the ones that test the curl tool, the ones that build small
|
||||
applications and test libcurl directly and the unit tests that test
|
||||
individual (possibly internal) functions.
|
||||
Here's a quick description on writing test cases. We have three kinds of
|
||||
tests: the ones that test the curl tool, the ones that build small
|
||||
applications and test libcurl directly and the unit tests that test individual
|
||||
(possibly internal) functions.
|
||||
|
||||
### test data
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue