curl上传文件的命令
curl是開源的http上傳和下載工具,通過命令行實現http操作,也可以使用其源碼進行http編程,就不用重新實現http協議的接口了。
網上有很多curl使用的命令行示例和基于其接口開發的示例,這里我介紹一下使用curl上傳文件的命令行。上傳文件使用的是POST,multipart/form-data形式,命令行示例:
curl -F "file=@/home/xz/test.tar.gz;type=application/octet-stream" -F "usr=abc" -F "pwd=123" http://sifangyun.cn/upload_file.php
這里解釋一下,-F選項可以有多個,不僅包含file類型,還能包含text,password等其他類型,但不能合并到一個-F選項,而要有多個-F選項。這個本質上是等價于html中form的字段,與上面命令對應的form可以寫成下面這樣:
<form action="upload_file.php" method="post" enctype="multipart/form-data">
<label for="file">Filename:</label>
<input type="file" name="file" id="file" />?
<br />
<label for="usr">Username:</label>
<input type="text" name="usr" id="usr" />?
<br />
<label for="pwd">Password:</label>
<input type="password" name="pwd" id="pwd" />?
<br />
<input type="submit" name="submit" value="上傳" />
</form>
這里-F "file=@/home/xz/test.tar.gz;type=application/octet-stream"中的file是form中的字段name或id,type是MIME類型。
如果通過代理上傳,則需要加上"-x yourproxy.com:port"的選項。
如果只上傳參數,而不上傳文件,則可以用application/x-www-url-encoded的方式發送POST請求,即在curl命令行里使用-d選項。形如:
curl -d?"usr=abc" -d?"pwd=123" http://sifangyun.cn/login.php
-d選項里是可以通過&來合并參數的,比如上面可以寫成:
curl -d?"usr=abc&pwd=123" http://sifangyun.cn/login.php
?
總結
以上是生活随笔為你收集整理的curl上传文件的命令的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 库卡机器人编程权限_KUKA库卡机器人实
- 下一篇: mac office2019 瘦身_Wi