I am trying to upload an image file to piczasso.com from python. My code is as follows:
import urllib,urllib2
url='http://piczasso.com/api_handler.php'
values = { 'data':open('./imagefile.jpg'),
           'tags':'',
           'size':'None'
}
data = urllib.urlencode(values)
req = urllib2.Request(url,data)
try:
        response = urllib2.urlopen(req).read()
        print response
except urllib2.URLError, e:
        print e.code
        print e.read()
print "done"
However,im getting "Invalid URL!" as the output. I am however able to upload the image using a php page as follows.
<?php
/* 
Simple sample script which uses Piczasso API
Documentation about PicZasso API can be found here: http://www.piczasso.com/api.php
*/
if(isset($_GET["image"])){
    /* API sends output in JSON format */
    $image = json_decode(rawurldecode($_GET["image"]), true);
    /*
    $image array includes information about the image URL and sample links to it:
        $image["direct"] = Image URL
        $image["thumb"] = Thumbnail URL
        $image["image_page"] = Link to image
        $image["bbcode"] = bbcode for forums
        $image["html"] = html code
    Sample table below with image links.
    */
    $image["html"] = str_replace("+", " ", htmlentities($image["html"]));
    echo "
    <img src=\"{$image["thumb"]}\" alt=\"\" />
    <table>
        <tr><td>HTML for Websites:</td><td><input type=\"text\" name=\"codes1\" value=\"{$image["html"]}\" /></td></tr>
        <tr><td>IMG Code for Forums:</td><td><input type=\"text\" name=\"codes2\" value=\"{$image["bbcode"]}\" /></td></tr>
        <tr><td>URL for E-Mail:</td><td><input type=\"text\" name=\"codes3\" value=\"{$image["image_page"]}\" /></td></tr>
        <tr><td>Direct Link for Layouts:</td><td><input type=\"text\" name=\"codes4\" value=\"{$image["direct"]}\" /></td></tr>
    </table>
    ";
} else {
    if(isset($_GET["error"])){
    /* Possible errors. Complete error list: http://www.piczasso.com/api_errorcodes.txt */
        $errorcodes = array(
            1000 => "No image selected",
            1001 => "Image failed to upload",
            1002 => "Invalid image type",
            1003 => "Image is larger than 16MB",
            1004 => "Cannot read image info",
            1005 => "Upload failed during process",
            1006 => "Database error",
            1007 => "Banned IP"
        );
        echo $errorcodes[$_GET["error"]];
    }
    /* Sample upload form below. Image can be resized also by sending for example this kind of fields:
        <tr><td>Resize x:</td><td><input type=\"text\" name=\"size_x\"/></td></tr>
        <tr><td>Resize y:</td><td><input type=\"text\" name=\"size_y\"/></td></tr>
    */ 
    echo "
    <form action=\"http://piczasso.com/api_handler.php\" method=\"post\" enctype=\"multipart/form-data\">
    <input type=\"hidden\" name=\"MAX_FILE_SIZE\" value=\"99999999\" />
    <table>
        <tr><td>File:</td><td><input type=\"file\" name=\"file\" /></td></tr>
        <tr><td>Tags:</td><td><input type=\"text\" name=\"tags\" /></td></tr>
        <tr><td>Resize:</td><td>
        <select name=\"size\">
            <option value=\"1\" selected=\"selected\" >None</option>
            <option value=\"2\" >100x75 Avatar</option>
            <option value=\"3\" >150x112 Thumbnail</option>
            <option value=\"4\" >320x240 Websites</option>
            <option value=\"5\" >640x480 For forums</option>
            <option value=\"6\">800x600 15-inch monitor</option>
            <option value=\"7\" >1024x768 17-inch monitor</option>
        </select></td></tr>
        <tr><td><input type=\"submit\" value=\"send\" /></td></tr>
    </table>
    </form>
    ";
}
?>
What is the problem with my python code ?
Please help Thank You