mirror of
https://github.com/moparisthebest/curl
synced 2024-12-21 15:48:49 -05:00
updates and fixes
This commit is contained in:
parent
90030a49c7
commit
5992252b3d
@ -1,4 +1,10 @@
|
||||
Date: 1999-08-04
|
||||
_ _ ____ _
|
||||
___| | | | _ \| |
|
||||
/ __| | | | |_) | |
|
||||
| (__| |_| | _ <| |___
|
||||
\___|\___/|_| \_\_____|
|
||||
|
||||
CONTRIBUTE
|
||||
|
||||
To Think About When Contributing Source Code
|
||||
|
||||
|
11
FAQ
11
FAQ
@ -1,4 +1,4 @@
|
||||
Date: 19 November 1999
|
||||
Date: 15 March 2000
|
||||
|
||||
Frequently Asked Questions about Curl
|
||||
|
||||
@ -29,3 +29,12 @@ Date: 19 November 1999
|
||||
I am very interested in once and for all getting some kind of report or
|
||||
README file from those who have used libcurl in a threaded environment,
|
||||
since I haven't and I get this question more and more frequently!
|
||||
|
||||
4. Why doesn't my posting using -F work?
|
||||
|
||||
You can't simply use -F or -d at your choice. The web server that will
|
||||
receive your post assumes one of the formats. If the form you're trying to
|
||||
"fake" sets the type to 'multipart/form-data', than and only then you must
|
||||
use the -F type. In all the most common cases, you should use -d which then
|
||||
causes a posting with the type 'application/x-www-form-urlencoded'.
|
||||
|
||||
|
10
FEATURES
10
FEATURES
@ -1,7 +1,16 @@
|
||||
_ _ ____ _
|
||||
___| | | | _ \| |
|
||||
/ __| | | | |_) | |
|
||||
| (__| |_| | _ <| |___
|
||||
\___|\___/|_| \_\_____|
|
||||
|
||||
FEATURES
|
||||
|
||||
Misc
|
||||
- full URL syntax
|
||||
- custom maximum download time
|
||||
- custom least download speed acceptable
|
||||
- custom output result after completion
|
||||
- multiple URLs
|
||||
- guesses protocol from host name unless specified
|
||||
- uses .netrc
|
||||
@ -21,6 +30,7 @@ HTTP
|
||||
- follow redirects
|
||||
- custom HTTP request
|
||||
- cookie get/send
|
||||
- understands the netscape cookie file
|
||||
- custom headers (that can replace internally generated headers)
|
||||
- custom user-agent string
|
||||
- custom referer string
|
||||
|
26
INSTALL
26
INSTALL
@ -6,6 +6,32 @@
|
||||
|
||||
How To Compile
|
||||
|
||||
Curl has been compiled and built on numerous different operating systems. The
|
||||
way to proceed is mainly devided in two different ways: the unix way or the
|
||||
windows way.
|
||||
|
||||
If you're using Windows (95, 98, NT) or OS/2, you should continue reading from
|
||||
the Win32 header below. All other systems should be capable of being installed
|
||||
as described un the the UNIX header.
|
||||
|
||||
PORTS
|
||||
=====
|
||||
Just to show off, this is a probably incomplete list of known hardware and
|
||||
operating systems that curl has been compiled for:
|
||||
|
||||
Sparc Solaris 2.4, 2.5, 2.5.1, 2.6, 7
|
||||
Sparc SunOS 4.1.*
|
||||
i386 Linux 1.3, 2.0, 2.2
|
||||
MIPS IRIX
|
||||
HP-PA HP-UX
|
||||
PowerPC Mac OS X
|
||||
- Ultrix
|
||||
i386 OpenBSD
|
||||
m68k OpenBSD
|
||||
i386 Windows 95, 98, NT
|
||||
i386 OS/2
|
||||
m68k AmigaOS 3
|
||||
|
||||
UNIX
|
||||
====
|
||||
|
||||
|
16
README
16
README
@ -26,3 +26,19 @@ README
|
||||
Sweden -- ftp://ftp.sunet.se/pub/www/utilities/curl/
|
||||
Germany -- ftp://ftp.fu-berlin.de/pub/unix/network/curl/
|
||||
China -- http://www.pshowing.com/curl/
|
||||
|
||||
To download the very latest source off the CVS server do this:
|
||||
|
||||
cvs -d :pserver:cvs@curl.sourceforge.net/curl login
|
||||
|
||||
(just press enter when asked for password)
|
||||
|
||||
cvs -d :pserver:cvs@curl.sourceforge.net/curl co .
|
||||
|
||||
(now, you'll get all the latest sources downloaded into your current
|
||||
directory. Note that this does not create a directory named curl or
|
||||
anything)
|
||||
|
||||
cvs -d :pserver:cvs@curl.sourceforge.net/curl logout
|
||||
|
||||
(you're off the hook!)
|
||||
|
67
README.curl
67
README.curl
@ -122,33 +122,37 @@ UPLOADING
|
||||
|
||||
FTP
|
||||
|
||||
Upload all data on stdin to a specified ftp site:
|
||||
Upload all data on stdin to a specified ftp site:
|
||||
|
||||
curl -t ftp://ftp.upload.com/myfile
|
||||
|
||||
Upload data from a specified file, login with user and password:
|
||||
Upload data from a specified file, login with user and password:
|
||||
|
||||
curl -T uploadfile -u user:passwd ftp://ftp.upload.com/myfile
|
||||
|
||||
Upload a local file to the remote site, and use the local file name remote
|
||||
too:
|
||||
Upload a local file to the remote site, and use the local file name remote
|
||||
too:
|
||||
|
||||
curl -T uploadfile -u user:passwd ftp://ftp.upload.com/
|
||||
|
||||
NOTE: Curl is not currently supporing ftp upload through a proxy! The reason
|
||||
for this is simply that proxies are seldomly configured to allow this and
|
||||
that no author has supplied code that makes it possible!
|
||||
Upload a local file to get appended to the remote file using ftp:
|
||||
|
||||
curl -T localfile -a ftp://ftp.upload.com/remotefile
|
||||
|
||||
NOTE: Curl does not support ftp upload through a proxy! The reason for this
|
||||
is simply that proxies are seldomly configured to allow this and that no
|
||||
author has supplied code that makes it possible!
|
||||
|
||||
HTTP
|
||||
|
||||
Upload all data on stdin to a specified http site:
|
||||
Upload all data on stdin to a specified http site:
|
||||
|
||||
curl -t http://www.upload.com/myfile
|
||||
|
||||
Note that the http server must've been configured to accept PUT before this
|
||||
can be done successfully.
|
||||
Note that the http server must've been configured to accept PUT before this
|
||||
can be done successfully.
|
||||
|
||||
For other ways to do http data upload, see the POST section below.
|
||||
For other ways to do http data upload, see the POST section below.
|
||||
|
||||
VERBOSE / DEBUG
|
||||
|
||||
@ -457,9 +461,9 @@ FTP and firewalls
|
||||
|
||||
HTTPS
|
||||
|
||||
Secure HTTP requires SSLeay to be installed and used when curl is built. If
|
||||
that is done, curl is capable of retrieving and posting documents using the
|
||||
HTTPS procotol.
|
||||
Secure HTTP requires SSL libraries to be installed and used when curl is
|
||||
built. If that is done, curl is capable of retrieving and posting documents
|
||||
using the HTTPS procotol.
|
||||
|
||||
Example:
|
||||
|
||||
@ -472,9 +476,10 @@ HTTPS
|
||||
browsers (Netscape and MSEI both use the so called PKCS#12 format). If you
|
||||
want curl to use the certificates you use with your (favourite) browser, you
|
||||
may need to download/compile a converter that can convert your browser's
|
||||
formatted certificates to PEM formatted ones. Dr Stephen N. Henson has
|
||||
written a patch for SSLeay that adds this functionality. You can get his
|
||||
patch (that requires an SSLeay installation) from his site at:
|
||||
formatted certificates to PEM formatted ones. This kind of converter is
|
||||
included in recent versions of OpenSSL, and for older versions Dr Stephen
|
||||
N. Henson has written a patch for SSLeay that adds this functionality. You
|
||||
can get his patch (that requires an SSLeay installation) from his site at:
|
||||
http://www.drh-consultancy.demon.co.uk/
|
||||
|
||||
Example on how to automatically retrieve a document using a certificate with
|
||||
@ -601,6 +606,34 @@ ENVIRONMENT VARIABLES
|
||||
|
||||
The usage of the -x/--proxy flag overrides the environment variables.
|
||||
|
||||
NETRC
|
||||
|
||||
Unix introduced the .netrc concept a long time ago. It is a way for a user
|
||||
to specify name and password for commonly visited ftp sites in a file so
|
||||
that you don't have to type them in each time you visit those sites. You
|
||||
realize this is a big security risk if someone else gets hold of your
|
||||
passwords, so therefor most unix programs won't read this file unless it is
|
||||
only readable by yourself (curl doesn't care though).
|
||||
|
||||
Curl supports .netrc files if told so (using the -n/--netrc option). This is
|
||||
not restricted to only ftp, but curl can use it for all protocols where
|
||||
authentication is used.
|
||||
|
||||
A very simple .netrc file could look something like:
|
||||
|
||||
machine curl.haxx.nu login iamdaniel password mysecret
|
||||
|
||||
CUSTOM OUTPUT
|
||||
|
||||
To better allow script programmers to get to know about the progress of
|
||||
curl, the -w/--write-out option was introduced. Using this, you can specify
|
||||
what information from the previous transfer you want to extract.
|
||||
|
||||
To display the amount of bytes downloaded together with some text and an
|
||||
ending newline:
|
||||
|
||||
curl -w 'We downloaded %{size_download} bytes\n' www.download.com
|
||||
|
||||
MAILING LIST
|
||||
|
||||
We have an open mailing list to discuss curl, its development and things
|
||||
|
33
TODO
33
TODO
@ -24,18 +24,17 @@ TODO
|
||||
|
||||
* HTTP Pipelining/persistant connections
|
||||
|
||||
- I'm gonna introduce HTTP "pipelining". Curl should be able
|
||||
to request for several HTTP documents in one connect. It is the beginning
|
||||
for supporing more advanced functions in the future, like web site
|
||||
- We should introduce HTTP "pipelining". Curl could be able to request for
|
||||
several HTTP documents in one connect. It would be the beginning for
|
||||
supporing more advanced functions in the future, like web site
|
||||
mirroring. This will require that the urlget() function supports several
|
||||
documents from a single HTTP server, which it doesn't today.
|
||||
|
||||
- When curl supports fetching several documents from the same
|
||||
server using pipelining, I'd like to offer that function to the command
|
||||
line. Anyone has a good idea how? The current way of specifying one URL
|
||||
with the output sent to the stdout or a file gets in the way. Imagine a
|
||||
syntax that supports "additional documents from the same server" in a way
|
||||
similar to:
|
||||
- When curl supports fetching several documents from the same server using
|
||||
pipelining, I'd like to offer that function to the command line. Anyone has
|
||||
a good idea how? The current way of specifying one URL with the output sent
|
||||
to the stdout or a file gets in the way. Imagine a syntax that supports
|
||||
"additional documents from the same server" in a way similar to:
|
||||
|
||||
curl <main URL> --more-doc <path> --more-doc <path>
|
||||
|
||||
@ -52,12 +51,11 @@ TODO
|
||||
And some friendly person's server source code is available at
|
||||
http://hopf.math.nwu.edu/digestauth/index.html
|
||||
|
||||
Then there's the Apache mod_digest source code too of course.
|
||||
It seems as if Netscape doesn't support this, and not many servers
|
||||
do. Although this is a lot better authentication method than the more
|
||||
common "Basic". Basic sends the password in cleartext over the network,
|
||||
this "Digest" method uses a challange-response protocol which increases
|
||||
security quite a lot.
|
||||
Then there's the Apache mod_digest source code too of course. It seems as
|
||||
if Netscape doesn't support this, and not many servers do. Although this is
|
||||
a lot better authentication method than the more common "Basic". Basic
|
||||
sends the password in cleartext over the network, this "Digest" method uses
|
||||
a challange-response protocol which increases security quite a lot.
|
||||
|
||||
* Different FTP Upload Through Web Proxy
|
||||
I don't know any web proxies that allow CONNECT through on port 21, but
|
||||
@ -88,3 +86,8 @@ TODO
|
||||
(http://search.ietf.org/internet-drafts/draft-murray-auth-ftp-ssl-05.txt)
|
||||
|
||||
* HTTP POST resume using Range:
|
||||
|
||||
* Make curl capable of verifying the server's certificate when connecting
|
||||
with HTTPS://.
|
||||
|
||||
* Make the timeout work as expected!
|
||||
|
Loading…
Reference in New Issue
Block a user