㈠ 如何使用ftp用curl命令上傳文件
使用ftp用curl命令上傳文件方法:
第一種:
server端有現成的ftpserver:
上傳的option是 -T
比如我們向ftp傳一個文件: curl -T localfile -u name:passwd ftp://upload_site:port/path/
curl -T hadoop_oom.log -u user:1234567 ftp://1.1.1.1/
第二種:
nginx上傳: (需要加上--with-http_dav_mole模塊 )
./configure --prefix=/usr/local/nginx --user=www --group=www --with-http_stub_status_mole --with-http_ssl_mole --with-http_dav_mole
make && make install
要創建上傳的臨時目錄
mkdir -p /dev/shm/client_body_temp
nginx http段加入:
client_body_temp_path /dev/shm/client_body_temp 1 2;
client_max_body_size 1024m; #這個根據實際的情況,如有大文件upload需要加大,不然nginx拋413 error
然後:
server
{
listen 80;
server_name 1.1.1.1;
index index.html index.htm index.php;
root html;
autoindex on;
dav_methods PUT; #這個是重點默認不允許PUT
測試:
curl -T hadoop_oom.log http://1.1.1.1/
安全注意事項:
一般需要單獨location一個目錄單獨做upload用。或者這個nginx只做upload上傳單一用途。
然後就是nginx allow了,一般機房都是內網打通的,只允許idc內網才能PUT。不然就能任意PUT到你的upload機器了。
㈡ curl和libcurl的區別簡介
curl簡介
curl是利用URL語法在命令行方式下工作的開源文件傳輸工具。
它支持很多協議:DICT, FILE, FTP, FTPS, Gopher, HTTP, HTTPS, IMAP, IMAPS, LDAP,
LDAPS, POP3, POP3S, RTMP, RTSP, SCP, SFTP, SMTP, SMTPS, Telnet and TFTP。
curl同樣支持SSL證書,HTTP POST, HTTP
PUT,FTP上傳,基於表單的HTTP上傳,代理(proxies)、cookies、用戶名/密碼認證(Basic, Digest,
NTLM等)、下載文件斷點續傳,上載文件斷點續傳(file transfer resume),http代理伺服器管道(proxy
tunneling)以及其他特性。
curl是瑞典curl組織開發的,curl的官網是http://curl.haxx.se/,可以從官網獲取它的源代碼和相關說明。
libcurl簡介
libcurl為一個免費開源的,客戶端url傳輸庫,支持DICT, FILE, FTP, FTPS, Gopher, HTTP,
HTTPS, IMAP, IMAPS, LDAP, LDAPS, POP3, POP3S, RTMP, RTSP, SCP, SFTP,
SMTP, SMTPS, Telnet and TFTP等協議。
同curl一樣,libcurl也支持SSL證書,HTTP POST, HTTP
PUT,FTP上傳,基於表單的HTTP上傳,代理(proxies)、cookies、用戶名/密碼認證(Basic, Digest,
NTLM等)、下載文件斷點續傳,上載文件斷點續傳(file transfer resume),http代理伺服器管道(proxy
tunneling)等。
libcurl是高度可移植的,可以工作在不同的平台上,支持Windows,Unix,Linux等。
libcurl是免費的,線程安全的,IPV6兼容的,同事它還有很多其他非常豐富的特性。libcurl已經被很多知名的大企業以及應用程序所採用。
可以在這里獲取libcurl的源碼及相關文檔。
curl與libcurl對比
相同點
curl和libcurl都可以利用多種多樣的協議來傳輸文件,包括HTTP, HTTPS, FTP, FTPS, GOPHER, LDAP, DICT, TELNET and FILE等。
不同點
curl是命令行工具,可以通過shell或腳本來運行curl。curl底層所使用的庫是libcurl。
libcurl是一個庫,通常與別的程序綁定在一起使用,如命令行工具curl就是封裝了libcurl庫。所以我們也可以在你自己的程序或項目中使用libcurl以獲得類似CURL的強大功能。接下來將要介紹的PHP擴展就是對curl的一個封裝。
㈢ CURL (FTP 方面)
1.FTP Directory listing
2.下載
3.上傳
4.下載
5.刪除文件
6.刪除目錄
7.創建文件夾
8.重命名文件
9.重命名目錄
㈣ curl命令詳解是什麼
在Linux中curl是一個利用URL標准在cmd下工作中的文件傳送工具,能夠算是一款很強悍的httpcmd工具。它支持文檔的發送和下載,是綜合性傳送工具,但按傳統式,習慣性稱Curl為下載工具。
1、curl指令是一個網路工具,其關鍵功能是根據http、ftp等方法下載文檔,也可以文件上傳,作為一個功能齊全的網路工具,curl指令與此同時支持HTTPS等諸多協議書,還支持POSTcookies驗證從特定偏位處下載一部分文檔,客戶代理商字元串數組、速度限制、圖片大小、時間軸等特點。
2、CURL是一個利用URL英語的語法在cmd下工作中的文件傳送工具,1997年初次發售。它支持上傳文件和下載,因此是綜合性傳送工具,但按傳統式,習慣性稱CURL為下載工具。
3、CURL還涵蓋了用以軟體開發的libcurl。cURL支持的通訊協議有FTP、FTPS、HTTP、HTTPS、TFTP、SFTP、Gopher、SCP、Telnet、DICT、FILE、LDAP、LDAPS、IMAP、POP3、SMTP和RTSP。
㈤ curl和wget的區別和用法介紹
區別:1.curl是libcurl這個庫支持的,wget是一個純粹的命令行命令。
2.curl支持更多的協議。
3.curl 默認支持HTTP1.1(也支持1.0),而wget僅僅支持HTTP1.0規范。
4.curl在指定要下載的鏈接時能夠支持URL的序列或集合,而wget則不能這樣;
5.wget支持遞歸下載,而curl則沒有這個功能。
Linux curl是一個利用URL規則在命令行下工作的文件傳輸工具。它支持文件的上傳和下載,所以是綜合傳輸工具,但按傳統,習慣稱url為下載工具。
用法:CURL 是使用URL語法的傳送文件工具,支持FTP、FTPS、HTTP HTPPS SCP SFTP TFTP TELNET DICT FILE和LDAP。curl 支持SSL證書、HTTP POST、HTTP PUT 、FTP 上傳,kerberos、基於HTT格式的上傳、代理、cookie、用戶+口令證明、文件傳送恢復、http代理通道和大量其他有用的技巧。
wget是一個從網路上自動下載文件的自由工具,支持通過HTTP、HTTPS、FTP三個最常見的TCP/IP協議下載,並可以使用HTTP代理。wget名稱的由來是「World Wide Web」與「get」的結合。
㈥ curl和wget的區別和用法介紹
1.curl是libcurl這個庫支持的,wget是一個純粹的命令行命令。
2.curl支持更多的協議。curl supports FTP, FTPS, HTTP, HTTPS, SCP, SFTP, TFTP, TELNET, DICT, LDAP, LDAPS, FILE, POP3, IMAP, SMTP and RTSP at the time of this writing. Wget supports HTTP, HTTPS and FTP.
3.curl 默認支持HTTP1.1(也支持1.0),而wget僅僅支持HTTP1.0規范。引用wget的man page中的一段話吧,Please be aware that Wget needs to know the size of the POST data in advance. It』s not quite clear how to work around this limitation inherent in HTTP/1.0. Although HTTP/1.1 introces chunked transfer that doesn』t require knowing the request length in advance, a client can』t use chunked unless it knows it』s talking to an HTTP/1.1 server. And it can』t know that until it receives a response, which in turn requires the request to have been completed – a chicken-and-egg problem.
4.curl在指定要下載的鏈接時能夠支持URL的序列或集合,而wget則不能這樣;
5.wget支持遞歸下載,而curl則沒有這個功能。(這是wget的一個主要好處,wget也是有優勢的,呵呵)
㈦ luacrul類庫-ftp問題分析/解決
問題:使用smart_pub.kkf2中的 function t.upload(sftpTab) 函數ftp上傳報錯;
改函數使用了 LuaCURL庫函數,網上先了解一下:
查了其他網站資料,對LUA的類庫解釋的很少,官網英文且解釋的不全面,不容易理解,
所以參考php的libcurl庫說明,語言不同,類似可以參考;
分析報錯信息,初步理解為文件目錄不存在,或者創建失敗;定位:
查看系統關鍵源碼設置:
源碼【順便在源碼上加了注釋,便於理解其他參數】
新增設置
測試問題解決:
還好之前使用過curl工具模擬webservice、rest客戶端報文測試,相對通用理解一些,curllib庫還有很多功能可能總結學習;
參考 http://luaforge.net/projects/luacurl/
http://underpop.free.fr/l/lua/luacurl/
https://www.cnblogs.com/endv/p/8433889.html
㈧ curl-s和curl區別
curl-s和curl區別如下:
curl命令是個功能強大的網路工具,可用來請求Web伺服器,支持FTP、FTPS、HTTP、HTTPS、SMTP、Telnet、TFTP等協議,底層使用的是libcurl庫。可用於文件上傳、下載,還可以用來模擬客戶端請求,抓取網頁、網路監控等。
curl-s是沉默,靜默模式,意思為不輸出進度表或錯誤信息。
㈨ curl什麼意思
curl的意思是:捲曲;蜷縮;鬈曲。
PHP、cURL函數:
PHP支持的由Daniel Stenberg創建的libcurl庫允許你與各種的伺服器使用各種類型的協議進行連接和通訊。libcurl支持http、https、ftp、gopher、telnet、dict、file和ldap協議。
libcurl同時也支持HTTPS認證、HTTP POST、HTTP PUT、 FTP 上傳(這個也能通過PHP的FTP擴展完成)、HTTP 基於表單的上傳、代理、cookies和用戶名+密碼的認證。