www.digitalmars.com         C & C++   DMDScript  

digitalmars.D.learn - How to POST data with net.curl

reply "Suliman" <evermind live.ru> writes:
I have next request, that work fine with curl:
curl -X POST -F upload= wgs84_latlon.zip
http://ogre.adc4gis.com/convert

I wrote next code:

void main()
{
	auto binfile = cast(ubyte[])
read(`D:\Apps\curl\wgs84_latlon.zip`);
	auto http = HTTP("http://ogre.adc4gis.com/convert");

	http.setPostData(binfile, "-X POST -F upload= ");
	http.onReceive = (ubyte[] data) { writeln((cast(string)data));
return data.length; };
	http.perform();
}

But I have got trouble with http.setPostData. I do not know how
to properly write text part, and attaches binary zip file.
Apr 02 2015
parent "Pierre Krafft" <kpierre+dlang outlook.com> writes:
On Thursday, 2 April 2015 at 07:45:16 UTC, Suliman wrote:
 I have next request, that work fine with curl:
 curl -X POST -F upload= wgs84_latlon.zip
 http://ogre.adc4gis.com/convert

 I wrote next code:

 void main()
 {
 	auto binfile = cast(ubyte[])
 read(`D:\Apps\curl\wgs84_latlon.zip`);
 	auto http = HTTP("http://ogre.adc4gis.com/convert");

 	http.setPostData(binfile, "-X POST -F upload= ");
 	http.onReceive = (ubyte[] data) { writeln((cast(string)data));
 return data.length; };
 	http.perform();
 }

 But I have got trouble with http.setPostData. I do not know how
 to properly write text part, and attaches binary zip file.
I had trouble with that too. Take a look at https://github.com/Zalastax/AvanzaFundSimulator/blob/master/source funds/fundfetcher.d and https://github.com/Zalastax/zalastaxlibd/blob/master/source/std/extra/http.d to see if that can help.
Apr 02 2015