2012-08-16 95 views
0

我有一個很難理解如何使用curl提交的東西。我已經成功登錄,使用此代碼:捲曲:如何輸入類型=「提交」

curl $HOST -s -L -b $COOKIE -c $COOKIE -d "login=submit&login_name=$USER&login_password=$PASS" > /dev/null 
<input name="login" type="hidden" id="login" value="submit" /> 

但是當我嘗試與另一頁這是行不通的類似的東西,它的駕駛我堅果:

curl $RSS -s -L -b $COOKIE -c $COOKIE -F "submitrssauto=doit" -o rss 

<form name="submitrss" action="" method="post"> 
    <input type="submit" name="submitrssauto" id="submitrssauto" value="doit" class="buttons"> 
    <input type=hidden name="allow_main" value="1"> 
    <input type=hidden name="allow_rating" value="1"> 
    <input type=hidden name="allow_comm" value="1"> 
    <input type=hidden name="lastdate" value="1345109704"> 
    <input type=hidden name="id" value="4"> 
    <input type="hidden" name="user_hash" value="e6bf03ffeb6865eadb62eb9d7d99c88e" /> 
    <input type=hidden name="text_type" value="1"> 
</forum> 

PHP代碼:

   echo <<<HTML 

    <br />&nbsp;&nbsp; 
<form name="submitrss" action="" method="post"> 
     <input type="submit" name="submitrssauto" id="submitrssauto" value="doit" class="buttons"> 
     <input type=hidden name="allow_main" value="{$rss['allow_main']}"> 
     <input type=hidden name="allow_rating" value="{$rss['allow_rating']}"> 
     <input type=hidden name="allow_comm" value="{$rss['allow_comm']}"> 
     <input type=hidden name="lastdate" value="{$xml->lastdate}"> 
     <input type=hidden name="id" value="{$id}"> 
     <input type="hidden" name="user_hash" value="$dle_login_hash" /> 
     <input type=hidden name="text_type" value="{$rss['text_type']}"> 
</forum> 
HTML; 

這是我到目前爲止已經試過:

curl $RSS -s -L -b $COOKIE -c $COOKIE -F "submitrssauto=doit" -o rss 
    curl $RSS -s -L -b $COOKIE -c $COOKIE -d "submitrssauto=doit" -o rss 
    curl $RSS -s -L -b $COOKIE -c $COOKIE -o rss -d "submitrssauto=doit&allow_main=1&allow_rating=1&allow_comm=1&lastdate=1345109704‌​&id=4&user_hash=e6bf03ffeb6865eadb62eb9d7d99c88e&text_type=1" 
+0

那'-d'參數,即從它的形式,在約定HTTP格式有變數。您需要將您的表單轉換爲該表單。 – Orbling 2012-08-16 20:22:52

+0

例如。 'curl $ RSS -s -L -b $ COOKIE -c $ COOKIE -o rss -d「submitrssauto = doit&allow_main = 1&allow_rating = 1&allow_comm = 1&lastdate = 1345109704&id = 4&user_hash = e6bf03ffeb6865eadb62eb9d7d99c88e&text_type = 1」' – Orbling 2012-08-16 20:27:15

+0

或者您可以使用'-F'每個變量。 – Orbling 2012-08-16 20:27:33

回答

0

Chrome或Firefox的Firebug的使用開發工具來跟蹤HTTP通信process.That可以幫助你。

發佈的數據可以通過像JS腳本進行處理,所以你可能會忽略某事,如果你只使用網頁的源。

+0

在「net」選項卡中,您可以看到處理後的最終數據。 – Jacob 2012-08-17 10:50:34