Actions
Requete POST and base64 » History » Revision 1
Revision 1/2
| Next »
iri, 12/31/2011 12:04 AM
Requete POST and base64¶
How to send datas using base64 encoding by a POST request ?
- Base64-encoded data takes about 33% more space than the original data.
- This encoding is designed to make binary data survive transport through transport layers that are not 8-bit clean, such as mail bodies.
You should know how to send a POST request : Request_POST before continue
In Scol, to encode to base64, use _base64_encode_ function.
base64_encode : fun [S] S
The first step is the encoding. The second step should be the conversion from any character to web character : _strtoweb_
strtoweb : fun [S] S
This example sends an image to a server (via a PHP script).
fun CBreceive (inet, u, data, err)=
if err == 0 then
(
_fooS strcat ">>>>>>>CBreceive current>>>>>>> " data;
let u -> [s] in
mutate u <- [strcat s data];
0
)
else if err == 1 then
(
let u -> [s] in
_fooS strcat ">>>>>>>CBreceive end>>>>>>> " s;
_closemachine
)
else
(
_fooS strcat ">>>>>>>CBreceive err>>>>>>> " itoa err;
0
);;
fun main ()=
_showconsole;
let _getpack _checkpack "examples/image.jpg" -> file in // get the file content
let base64_encode file -> file64 in // encode to base64
let strtoweb file64 -> file64web in // convert to web character
let "http://domin.tld/post.php" -> url in
let strcat "image=" file64web -> data in
INETGetURLex2 _channel "POST" url "content-type: application/x-www-form-urlencoded" data 0 @CBreceive [""];
0;;
Author : iri
Date : december 2011
Return to Examples
Updated by iri almost 14 years ago · 2 revisions