mirror of
https://github.com/moparisthebest/curl
synced 2024-08-13 17:03:50 -04:00
added more text in the 'passwords' section
This commit is contained in:
parent
f925979b2f
commit
3e31b619de
@ -114,7 +114,7 @@ Global Preparation
|
|||||||
Repeated calls to curl_global_init() and curl_global_cleanup() should be
|
Repeated calls to curl_global_init() and curl_global_cleanup() should be
|
||||||
avoided. They should be called once each.
|
avoided. They should be called once each.
|
||||||
|
|
||||||
Handle the easy libcurl
|
Handle the Easy libcurl
|
||||||
|
|
||||||
libcurl version 7 is oriented around the so called easy interface. All
|
libcurl version 7 is oriented around the so called easy interface. All
|
||||||
operations in the easy interface are prefixed with 'curl_easy'.
|
operations in the easy interface are prefixed with 'curl_easy'.
|
||||||
@ -238,12 +238,13 @@ Upload Data to a Remote Site
|
|||||||
the custom pointer libcurl will pass to our read callback. The read callback
|
the custom pointer libcurl will pass to our read callback. The read callback
|
||||||
should have a prototype similar to:
|
should have a prototype similar to:
|
||||||
|
|
||||||
size_t function(char *buffer, size_t size, size_t nitems, void *userp);
|
size_t function(char *bufptr, size_t size, size_t nitems, void *userp);
|
||||||
|
|
||||||
Where buffer is the pointer to a buffer we fill in with data to upload and
|
Where bufptr is the pointer to a buffer we fill in with data to upload and
|
||||||
size*nitems is the size of the buffer. The 'userp' pointer is the custom
|
size*nitems is the size of the buffer and therefore also the maximum amount
|
||||||
pointer we set to point to a struct of ours to pass private data between the
|
of data we can return to libcurl in this call. The 'userp' pointer is the
|
||||||
application and the callback.
|
custom pointer we set to point to a struct of ours to pass private data
|
||||||
|
between the application and the callback.
|
||||||
|
|
||||||
curl_easy_setopt(easyhandle, CURLOPT_READFUNCTION, read_function);
|
curl_easy_setopt(easyhandle, CURLOPT_READFUNCTION, read_function);
|
||||||
|
|
||||||
@ -259,7 +260,7 @@ Upload Data to a Remote Site
|
|||||||
|
|
||||||
curl_easy_setopt(easyhandle, CURLOPT_INFILESIZE, file_size);
|
curl_easy_setopt(easyhandle, CURLOPT_INFILESIZE, file_size);
|
||||||
|
|
||||||
So, then you call curl_easy_perform() this time, it'll perform all necessary
|
When you call curl_easy_perform() this time, it'll perform all the necessary
|
||||||
operations and when it has invoked the upload it'll call your supplied
|
operations and when it has invoked the upload it'll call your supplied
|
||||||
callback to get the data to upload. The program should return as much data as
|
callback to get the data to upload. The program should return as much data as
|
||||||
possible in every invoke, as that is likely to make the upload perform as
|
possible in every invoke, as that is likely to make the upload perform as
|
||||||
@ -273,7 +274,30 @@ Passwords
|
|||||||
to be able to download or upload the data of your choice. libcurl offers
|
to be able to download or upload the data of your choice. libcurl offers
|
||||||
several ways to specify them.
|
several ways to specify them.
|
||||||
|
|
||||||
[ URL, options, callback ]
|
Most protocols support that you specify the name and password in the URL
|
||||||
|
itself. libcurl will detect this and use them accordingly. This is written
|
||||||
|
like this:
|
||||||
|
|
||||||
|
protocol://user:password@example.com/path/
|
||||||
|
|
||||||
|
If you need any odd letters in your user name or password, you should enter
|
||||||
|
them URL encoded, as %XX where XX is a two-digit hexadecimal number.
|
||||||
|
|
||||||
|
libcurl also provides options to set various passwords. The user name and
|
||||||
|
password as shown embedded in the URL can instead get set with the
|
||||||
|
CURLOPT_USERPWD option. The argument passed to libcurl should be a char * to
|
||||||
|
a string in the format "user:password:". In a manner like this:
|
||||||
|
|
||||||
|
curl_easy_setopt(easyhandle, CURLOPT_USERPWD, "myname:thesecret");
|
||||||
|
|
||||||
|
Another case where name and password might be needed at times, is for those
|
||||||
|
users who need to athenticate themselves to a proxy they use. libcurl offers
|
||||||
|
another option for this, the CURLOPT_PROXYUSERPWD. It is used quite similar
|
||||||
|
to the CURLOPT_USERPWD option like this:
|
||||||
|
|
||||||
|
curl_easy_setopt(easyhandle, CURLOPT_PROXYUSERPWD, "myname:thesecret");
|
||||||
|
|
||||||
|
[ more options, setting passsword callback ]
|
||||||
|
|
||||||
|
|
||||||
Showing Progress
|
Showing Progress
|
||||||
|
Loading…
Reference in New Issue
Block a user