我試圖讓wget使用post-request和一個特殊的密碼。它包含'它是這樣的:在Shellscript中使用'(wget)
wget --save-cookie cookie.txt --post-data「user = Abraham & password = - my'precious!」 http://localhost/login.php
但是當我用wget使用tick時,會出現奇怪的錯誤。有人知道如何讓它起作用嗎?
我試圖讓wget使用post-request和一個特殊的密碼。它包含'它是這樣的:在Shellscript中使用'(wget)
wget --save-cookie cookie.txt --post-data「user = Abraham & password = - my'precious!」 http://localhost/login.php
但是當我用wget使用tick時,會出現奇怪的錯誤。有人知道如何讓它起作用嗎?
您的請求中的反響是一個直截了當的問題,雖然您可能有第二個潛伏在那裏。
您正在尋找的單詞是'逃避' - 反引號在命令行上有特殊意義,您需要將其轉義以便它不被解釋爲這樣。在bash shell(典型的linux控制檯)中,轉義字符是\
- 如果你把它放在反引號之前,它將不會被解釋。
第二個潛在問題是您使用的方式wget
- 您確定這是您要發送的請求嗎?您是否嘗試使用Web表單或Basic,Digest或其他形式的HTTP身份驗證來驗證服務器?
如果這是您應該進行身份驗證的方式,那麼您還需要對--post-data
進行百分比編碼,因爲wget不會爲您執行此操作。
這是一個簡單的PHP腳本,用於等待簡單HTML表單發送的POST請求。它將sessionn信息存儲在cookie中。當我嘗試使用wget --post-data「user = data&pwd = my \'precious」時遇到了問題。 Shellscript用冒泡關於未關閉的文件退出。 – schlingel 2011-06-10 18:00:30
正如我(和上面的評論)指出的那樣,如果你需要把它放到'--post-data'中,那麼你需要對它進行百分比編碼http://en.wikipedia.org/wiki/Percent-encoding反引號'字符應該由'%60'替換 – benosteen 2011-06-10 18:12:43
你需要urlencode那些數據,還是wget會爲你做這件事? – 2011-06-10 17:43:43