使用curl将多个附件数组上载到服务器网页

使用curl将多个附件数组上载到服务器网页,curl,post,Curl,Post,表单数据的html页面如下所示 <form name="uploadform" id="uploadform" action="htmlupload.php" enctype="multipart/form-data" method="post"> <table class="tborder" cellpadding="6" cellspacing="1" border="0" width="100%" align="center"> <tr> &l

表单数据的html页面如下所示

<form name="uploadform" id="uploadform" action="htmlupload.php" enctype="multipart/form-data" method="post">

<table class="tborder" cellpadding="6" cellspacing="1" border="0" width="100%" align="center">
<tr>
    <td class="tcat">
        Upload Files
    </td>
</tr>
<tr>
    <td class="panelsurround" align="center">
    <div id="upload" class="panel">
        <div style="width:720px" align="left">
            <table border="0"><tr>
                <td>
                    <div><input name="attachment[]" type="file"></div>
                    <div><input name="attachment[]" type="file"></div>
                    <div><input name="attachment[]" type="file"></div>
                    <div><input name="attachment[]" type="file"></div>
                    <div><input name="attachment[]" type="file"></div>
                </td>
                <td>
                    <div><input name="attachment[]" type="file"></div>
                    <div><input name="attachment[]" type="file"></div>
                    <div><input name="attachment[]" type="file"></div>
                    <div><input name="attachment[]" type="file"></div>
                    <div><input name="attachment[]" type="file"></div>
                </td>
                <td>
                    <div><input name="attachment[]" type="file"></div>
                    <div><input name="attachment[]" type="file"></div>
                    <div><input name="attachment[]" type="file"></div>
                    <div><input name="attachment[]" type="file"></div>
                    <div><input name="attachment[]" type="file"></div>
                </td>
            </tr></table>
        </div>
        <div style="margin-top:6px">
            <input value="6ece14a18366a322c347c71cbfe87420" name="uploadcode" type="hidden" />
            <input value="upload" name="do" type="hidden" />
            <input value="upload" name="uploadbutton" onclick="onClickVerify();" class="button" type="button" accesskey="s" />
            <input type="reset" class="button" value="Reset Fields" accesskey="r" />
        </div>
    </div>
    <div class="panel" id="status" style="display:none;width:100%;">
        &nbsp;
    </div>
    </td>
</tr>
</table>

</form>
但是,它不起作用。下面是该网页的图片


请给我一个如何实现这一点的提示,这是一个选择附件的数组

,我可以看到,您不发送uploadcode字段值。这可能是你的问题

另外,请注意-d和-F选项之间的区别。后者以多部分/表单数据的形式发送内容,这正是您所需要的


另外,你提供的链接对我不起作用,所以我只是在这里给你一些建议,我自己无法检查。

从我看到的情况来看,你没有发送uploadcode字段值。这可能是你的问题

另外,请注意-d和-F选项之间的区别。后者以多部分/表单数据的形式发送内容,这正是您所需要的


另外,你提供的链接对我不起作用,所以我只是在这里给你一些建议,我自己无法核实。

要添加到@makeiteasy答案和你的链接,这里有一个工作示例:

# registration

curl -c cookie.txt \
     -d "vb_login_username=username&vb_login_password=password&do=login" \
     http://f7.masaladesi.com/login.php

# get an upload code value

uploadcode=$(curl -s -b cookie.txt http://f7.masaladesi.com/htmlupload.php | \
    awk 'match($0, /value=\"(.*)\" name="uploadcode"/,arr) { print arr[1] }')

# upload request 

curl -b cookie.txt -F "attachment[]=@cat.png" \
     -F "uploadcode=$uploadcode" -F "do=upload" \
     http://f7.masaladesi.com/htmlupload.php
这是:

正在进行注册以设置cookie 要求http://f7.masaladesi.com/htmlupload.php 提取上传代码 使用多部分/表单数据内容执行上载请求
要添加到@makeiteasy answer和您的,以下是一个工作示例:

# registration

curl -c cookie.txt \
     -d "vb_login_username=username&vb_login_password=password&do=login" \
     http://f7.masaladesi.com/login.php

# get an upload code value

uploadcode=$(curl -s -b cookie.txt http://f7.masaladesi.com/htmlupload.php | \
    awk 'match($0, /value=\"(.*)\" name="uploadcode"/,arr) { print arr[1] }')

# upload request 

curl -b cookie.txt -F "attachment[]=@cat.png" \
     -F "uploadcode=$uploadcode" -F "do=upload" \
     http://f7.masaladesi.com/htmlupload.php
这是:

正在进行注册以设置cookie 要求http://f7.masaladesi.com/htmlupload.php 提取上传代码 使用多部分/表单数据内容执行上载请求
我尝试了curl-bcookie.txt-formattachment[]=@1.png-formdo=upload。但是,生成的网页显示上载无效,这意味着上载按钮工作正常,但发送附件时出错。由于该网页是一个论坛,这与创建新线程后单击管理附件按钮相同。您将看到一个在末尾带有“upload”的浏览按钮数组,这是因为您没有像我在回答中所说的那样发送uploadcode值。使用另一个-formuploadcode=。有关值,请参见您的HTML代码。我尝试了curl-bcookie.txt-form attachment[]=@1.png-form do=upload。但是,生成的网页显示上载无效,这意味着上载按钮工作正常,但发送附件时出错。由于该网页是一个论坛,这与创建新线程后单击管理附件按钮相同。您将看到一个在末尾带有“upload”的浏览按钮数组,这是因为您没有像我在回答中所说的那样发送uploadcode值。使用另一个-formuploadcode=。有关值,请参见HTML代码。