curl_formget(3) libcurl Manual curl_formget(3)NAME
curl_formget - serialize a previously built multipart/formdata HTTP POST chain
SYNOPSIS
#include <curl/curl.h>
int curl_formget(struct curl_httppost * form, void *userp,
curl_formget_callback append );
DESCRIPTION
curl_formget() is used to serialize data previously built/appended with curl_formadd(3). Accepts a void pointer as second argument named
userp which will be passed as the first argument to the curl_formget_callback function.
typedef size_t (*curl_formget_callback)(void *userp, const char *buf, size_t len);
The curl_formget_callback will be executed for each part of the HTTP POST chain. The character buffer passed to the callback must not be
freed. The callback should return the buffer length passed to it on success.
If the CURLFORM_STREAM option is used in the formpost, it will prevent curl_formget(3) from working until you've performed the actual HTTP
request as only then will libcurl get the actual read callback to use!
RETURN VALUE
0 means everything was ok, non-zero means an error occurred
EXAMPLE
size_t print_httppost_callback(void *arg, const char *buf, size_t len)
{
fwrite(buf, len, 1, stdout);
(*(size_t *) arg) += len;
return len;
}
size_t print_httppost(struct curl_httppost *post)
{
size_t total_size = 0;
if(curl_formget(post, &total_size, print_httppost_callback)) {
return (size_t) -1;
}
return total_size;
}
AVAILABILITY
This function was added in libcurl 7.15.5
SEE ALSO curl_formadd(3)libcurl 7.54.0 February 03, 2016 curl_formget(3)
Check Out this Related Man Page
CURLOPT_HTTPPOST(3) curl_easy_setopt options CURLOPT_HTTPPOST(3)NAME
CURLOPT_HTTPPOST - specify the multipart formpost content
SYNOPSIS
#include <curl/curl.h>
CURLcode curl_easy_setopt(CURL *handle, CURLOPT_HTTPPOST,
struct curl_httppost *formpost);
DESCRIPTION
Tells libcurl you want a multipart/formdata HTTP POST to be made and you instruct what data to pass on to the server in the formpost argu-
ment. Pass a pointer to a linked list of curl_httppost structs as parameter. The easiest way to create such a list, is to use curl_for-
madd(3) as documented. The data in this list must remain intact as long as the curl transfer is alive and is using it.
Using POST with HTTP 1.1 implies the use of a "Expect: 100-continue" header. You can disable this header with CURLOPT_HTTPHEADER(3).
When setting CURLOPT_HTTPPOST(3), it will automatically set CURLOPT_NOBODY(3) to 0.
DEFAULT
NULL
PROTOCOLS
HTTP
EXAMPLE
/* Fill in the file upload field. This makes libcurl load data from
the given file name when curl_easy_perform() is called. */
curl_formadd(&formpost,
&lastptr,
CURLFORM_COPYNAME, "sendfile",
CURLFORM_FILE, "postit2.c",
CURLFORM_END);
/* Fill in the filename field */
curl_formadd(&formpost,
&lastptr,
CURLFORM_COPYNAME, "filename",
CURLFORM_COPYCONTENTS, "postit2.c",
CURLFORM_END);
/* Fill in the submit field too, even if this is rarely needed */
curl_formadd(&formpost,
&lastptr,
CURLFORM_COPYNAME, "submit",
CURLFORM_COPYCONTENTS, "send",
CURLFORM_END);
AVAILABILITY
As long as HTTP is enabled
RETURN VALUE
Returns CURLE_OK if HTTP is enabled, and CURLE_UNKNOWN_OPTION if not.
SEE ALSO CURLOPT_POSTFIELDS(3), CURLOPT_POST(3), curl_formadd(3), curl_formfree(3),
libcurl 7.54.0 May 17, 2016 CURLOPT_HTTPPOST(3)
Split large xml into mutiple files and with header and footer in file
tried below
it splits unevenly and also i need help in adding header and footer
command :
csplit -s -k -f my_XML_split.xml extrfile.xml "/<Document>/" {1}
sample xml
<?xml version="1.0" encoding="UTF-8"?><Recipient>... (36 Replies)
Here are instructions to clear the data cache for four browsers, Safari, Chrome, Firefox, Opera. In these examples I'm using MacOS Mojave, but it should be similar for any OS.
You can use these instructions to to clear and reload the cache if you have any issues with the Vue.js UserCP (current... (1 Reply)
Yesterday someone asked me to install TeamViewer and share my Mac screen with them while on a conference call.
I shut down my Mac before sleeping and woke up to some major problem with my 12-core CPU in hyperdrive, and the system activity monitor showed my Mac kernel_task was at 1,200% and the... (30 Replies)
What is the point of this? Whenever I close my shell it appends to the history file without adding this. I have never seen it overwrite my history file.
# When the shell exits, append to the history file instead of overwriting it
shopt -s histappend (3 Replies)
Hi,
I am attempting to extract the /lib/ paths using sed but it does not appear to work.
./copy_chroot_lib.sh ls echo | sed s#*\(/lib\).*#\1#g
linux-vdso.so.1 (0x00007fff77df1000)
libselinux.so.1 => /lib/x86_64-linux-gnu/libselinux.so.1 (0x00007f28190ac000)
... (8 Replies)
hi,
I am searching for a native tool on MacOS that can increase the resolution of a group of image files whose aspect ratios (file width versus height) vary widely. There are numerous files so I don't wish to do this manually. Someone suggested the sips command with the resampling option but... (5 Replies)
I'm trying to use a bash script for a psych experiment that involves listening to sound files and responding. If I have something like the code below, how can I make sure that a key press is assigned to RESPONSE only after the second echo statement?
for i in 1 2 3; do
echo "Ready?"
sleep 2
... (10 Replies)
Hi all...
Well guys and gals, I jumped in at the deep end and found things that PERL cannot do by default.
Many tricky terminal escape codes are not catered for so I had to create workarounds.
One thing I searched for was this:
Passing perl variable to shell command
AND, @Neo this was... (15 Replies)
Python 3.8.0rc1 released today, 1st October 2019...
Just tried it out testing my AMIGA Python 1.4.0 code inside it and all are working, I can now test to the latest Python incarnation now.
Subjective opinion is that is seems seriously quick on my OSX 10.14.6, latest Mojave update.
Python... (0 Replies)
Hi Guys,
I wrote a collection of bash functions years ago and now need to use them again but
I'm getting some error messages when eval tries to expand the variables names.
I recollect that I used the shopt command to set one of the options but I can't quite
remember the command that I... (8 Replies)
I'm trying to complete a bash script to capture if an external webcam is active in a video conference session. Some users will switch the camera to the built-in MAC camera. When this happens I want to trigger a set of events.
Things tried: reviewed the console.app to look for patterns on when... (6 Replies)