I'm trying to upload a picture to a specific website using php cURL but I don't really understand what parameters do I need to send because the data looks a bit weird . Here is what i got with the http analyzer
Type : multipart/form-data; boundary=---------------------------182983931283
-----------------------------182983931283
Content-Disposition: form-data; name="file"; filename="Blue hills.jpg"
Content-Type: image/jpeg
Here appears the souce of the image itself like "ÿØÿàÿØÿàÿØÿàÿØÿàÿØÿàÿØÿà"
-----------------------------182983931283
Content-Disposition: form-data; name="action"
images
-----------------------------182983931283
Content-Disposition: form-data; name="anonymous_email"
Y
-----------------------------182983931283
Content-Disposition: form-data; name="site_id"
1
-----------------------------182983931283
and so on other parameters. The issue that I have is that I don't understand what is the boundary, where do I get it from (because it doesn't appear in the html document that generates the POST and how should I make the post . If you would give me a simple example to post the above parameters to http://example.com I will definitely get the trick .
Currently I'm using the following function to make the post :
function processPicturesPage($title, $price, $numbedrooms, $description) { //Set the login parameters and initiate the Login process
$fields = array(
"changedImages" => "", "site_id" => "1", "posting_id" => "", "current_live_date" => "", "images_loaded" => "", "image_actions" => "", "title" => $title,
); foreach($fields as $key=>$value) { $fields_string .= $key.'='.$value.'&'; 开发者_如何学C } rtrim($fields_string,'&'); $URL = "http://www.example.com/cgi-bin/add_posting.pl"; return $this->processCurlrequest($URL, count($fields), $fields_string); }
and in the processCurlrequest I have the curl options (cookies etc) and url .
When sending multipart data, boundaries are used as separators between each field. These boundaries are automatically created by cURL and you shouldn't need to worry about them.
精彩评论