當前位置:首頁 » 文件管理 » curl如何一直上傳文件到ftp伺服器

curl如何一直上傳文件到ftp伺服器

發布時間: 2022-08-22 02:55:08

Ⅰ 如何用curl實現ftp伺服器

由於項目的需要,利用libcurl編寫程序與ftp伺服器通信,進行文件上傳或下載,愈發地感到curl功能的強悍。
其實在命令行下直接使用curl命令就可以完成這些功能,但是需要獲取上傳下載行為的狀態以便更好地控制。

Ⅱ 如何用curl命令上傳文件到制定的目錄

把臨時目錄下的文件移動到目標上傳目錄
move_uploaded_file($file['tmp_name'], $filename)

Ⅲ 如何將文件傳輸到ftp伺服器上

用軟體上傳,如,CuteFTP Pro,也可以用電腦直接上傳,

Ⅳ 怎麼用命令向ftp伺服器上傳文件

在本地電腦D:盤創建一個文件夾"qint"。將要上傳的文件復制到d:\qint里。通過FTP命令將文件從本地上傳到伺服器的步驟如下:
1.「開始」-「運行」-輸入「FTP」
2.open qint.ithot.net 這一步可以與第一步合並,在「運行」里直接輸入"ftp qint.ithot.net"。如果你的FTP伺服器不是用的21默認埠,假如埠是2121,那麼此步的命令應在後面空格加2121,即「open qint.ithot.net 2121」
3.username 提示你輸入用戶名
4.user1234
5.dir 你成功登陸後就可以用dir查看命令查看FTP伺服器中的文件及目錄,用ls命令只可以查看文件。
6.mkdir qint 在FTP伺服器上根目錄下建立qint目錄。
7.cd qint 進入目錄qint,用「cd 你的目錄名」可以進入當前目錄的下一級目錄,這跟DOS一樣。
8.bin 採用二進制傳輸。如果你要上傳下載,這一步很重要,不先執行這個命令,上傳下載會很慢。
9.lcd d:\qint 定位本地默認文件夾,在前面我事先在D:盤創建的。
10.!dir 查看本地文件夾中的文件及目錄*/
11.put i001.jpg
/*將當前目錄(d:\qint)中的文件i001.jpg上傳到FTP伺服器默認目錄。可以用"mput *.*"將所有文件上傳到FTP伺服器上。

Ⅳ curl的用法

curl是一個利用URL語法在命令行方式下工作的文件傳輸工具。本文介紹了它的簡單用法。

*******************************************************************************************************************************************************

curl是一個利用URL語法在命令行方式下工作的文件傳輸工具。

它支持很多協議:FTP, FTPS, HTTP, HTTPS, GOPHER, TELNET, DICT, FILE 以及 LDAP。
curl同樣支持HTTPS認證,HTTP POST方法, HTTP PUT方法, FTP上傳, kerberos認證, HTTP上傳, 代理伺服器, cookies, 用戶名/密碼認證, 下載文件斷點續傳, 上載文件斷點續傳, http代理伺服器管道( proxy tunneling), 甚至它還支持IPv6, socks5代理伺服器, 通過http代理伺服器上傳文件到FTP伺服器等等,功能十分強大。

Windows操作系統下的網路螞蟻,網際快車(FlashGet)的功能它都可以做到。准確的說,curl支持文件的上傳和下載,所以是一個綜合傳輸工具,但是按照傳統,用戶習慣稱curl為下載工具。

curl是瑞典curl組織開發的,您可以訪問: http://curl.haxx.se/
獲取它的源代碼和相關說明。

鑒於curl在linux上的廣泛使用,IBM在AIX Linux Toolbox的光碟中包含了這個軟體,並且您可以訪問IBM網站:

http://www- 1.ibm.com/servers/aix/procts/aixos/linux/altlic.html 下載它。

curl的最新版本是 7.10.8,IBM網站上提供的版本為7.9.3。

在AIX下的安裝很簡單,IBM網站上下載的rpm格式的包。

在 http://curl.haxx.se/docs/,您可以下載到UNIX格式的man幫助,裡面有詳細的curl工具的使用說明。
curl的用法為:curl [options] [URL...]
其中options是下載需要的參數,大約有80多個,curl的各個功能完全是依靠這些參數完成的。
具體參數的使用,用戶可以參考curl的man幫助。
下面,本文就將結合具體的例子來說明怎樣利用curl進行下載。

1、獲得一張頁面

使用命令:curl http://curl.haxx.se
這是最簡單的使用方法。用這個命令獲得了http://curl.haxx.se指向的頁面,同樣,如果這里的URL指向的是一個文件或者一幅圖都可以直接下載到本地。如果下載的是HTML文檔,那麼預設的將不顯示文件頭部,即HTML文檔的header。要全部顯示,請加參數 -i,要只顯示頭部,用參數 -I。任何時候,可以使用 -v 命令看curl是怎樣工作的,它向伺服器發送的所有命令都會顯示出來。為了斷點續傳,可以使用-r參數來指定傳輸范圍。

2、表單(Form)的獲取

在WEB頁面設計中,form是很重要的元素。Form通常用來收集並向網站提交信息。提交信息的方法有兩種,GET方法和POST方法。先討論GET方法,例如在頁面中有這樣一段:
<form method="GET" action="junk.cgi">
<input type=text name="birthyear">
<input type=submit name=press value="OK">
</form>
那麼瀏覽器上會出現一個文本框和一個標為「OK」的按鈕。按下這個按鈕,表單就用GET方法向伺服器提交文本框的數據。
例如原始頁面是在 www.hotmail.com/when/birth.html看到的,然後您在文本框中輸入1905,然後按OK按鈕,那麼瀏覽器的URL現在應該是:「www.hotmail.com/when/junk.cgi?birthyear=1905&;press=OK」
對於這種網頁,curl可以直接處理,例如想獲取上面的網頁,只要輸入:

curl "www.hotmail.com/when/junk.cgi?birthyear=1905&;press=OK"

就可以了。

表單用來提交信息的第二種方法叫做POST方法,POST方法和GET方法的區別在於GET方法使用的時候,瀏覽器中會產生目標URL,而POST不會。類似GET,這里有一個網頁:
<form method="POST" action="junk.cgi">
<input type=text name="birthyear">
<input type=submit name=press value="OK">
</form>
瀏覽器上也會出現一個文本框和一個標為「OK」的按鈕。按下這個按鈕,表單用POST方法向伺服器提交數據。

這時的URL是看不到的,因此需要使用特殊的方法來抓取這個頁面:

curl -d "birthyear=1905&press=OK" www.hotmail.com/when/junk.cgi
這個命令就可以做到。
1995年年末,RFC 1867定義了一種新的POST方法,用來上傳文件。主要用於把本地文件上傳到伺服器。此時頁面是這樣寫的:
<form method="POST" enctype='multipart/form-data' action="upload.cgi">
<input type=file name=upload>
<input type=submit name=press value="OK">
</form>

對於這種頁面,curl的用法不同:
curl -F upload=@localfilename -F press=OK URL

這個命令的實質是將本地的文件用POST上傳到伺服器。
有關POST還有不少用法,用戶可以自己摸索。

3、使用PUT方法。

HTTP協議文件上傳的標准方法是使用PUT,此時curl命令使用-T參數:
curl -T uploadfile www.uploadhttp.com/receive.cgi

4、有關認證。

curl可以處理各種情況的認證頁面,例如下載用戶名/密碼認證方式的頁面(在IE中通常是出現一個輸入用戶名和密碼的輸入框):
curl -u name:password www.secrets.com
如果網路是通過http代理伺服器出去的,而代理伺服器需要用戶名和密碼,那麼輸入:
curl -U proxyuser:proxypassword http://curl.haxx.se
任何需要輸入用戶名和密碼的時候,只在參數中指定用戶名而空著密碼,curl可以互動式的讓用戶輸入密碼。

5、引用。

有些網路資源訪問的時候必須經過另外一個網路地址跳轉過去,這用術語來說是:referer,引用。
對於這種地址的資源,curl也可以下載:
curl -e http://curl.haxx.se daniel.haxx.se

6、指定用戶客戶端。

有些網路資源首先需要判斷用戶使用的是什麼瀏覽器,符合標准了才能夠下載或者瀏覽。
此時curl可以把自己「偽裝」成任何其他瀏覽器:
curl -A "Mozilla/4.0 (compatible; MSIE 5.01; Windows NT 5.0)" URL

這個指令表示curl偽裝成了IE5.0,用戶平台是Windows 2000。(對方伺服器是根據這個字串來判斷客戶端的類型的,所以即使使用AIX也無所謂)。
使用:
curl -A "Mozilla/4.73 [en] (X11; U; Linux 2.2.15 i686)" URL

此時curl變成了Netscape,運行在PIII平台的Linux上了。

7、COOKIES

Cookie是伺服器經常使用的一種記憶客戶信息的方法。如果cookie被記錄在了文件中,那麼使用命令:
curl -b stored_cookies_in_file www.cookiesite.com
curl可以根據舊的cookie寫出新cookie並發送到網站:
curl -b cookies.txt -c newcookies.txt www.cookiesite.com

8、加密的HTTP——HTTPS。

如果是通過OpenSSL加密的https協議傳輸的網頁,curl可以直接訪問:
curl https://that.secure.server.com

9、http認證。

如果是採用證書認證的http地址,證書在本地,那麼curl這樣使用:
curl -E mycert.pem https://that.secure.server.com

參考讀物和注意事項:

curl非常博大,用戶要想使用好這個工具,除了詳細學習參數之外,還需要深刻理解http的各種協議與URL的各個語法。
這里推薦幾個讀物:

RFC 2616 HTTP協議語法的定義。
RFC 2396 URL語法的定義。
RFC 2109 Cookie是怎樣工作的。
RFC 1867 HTTP如何POST,以及POST的格式。

文字

curl是免費軟體,IBM公司對curl不提供技術支持。

curl官方網站:
http://curl.haxx.se

Ⅵ 如何使用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機器了。

Ⅶ linux系統內 怎麼使用shell實現自動上傳文件到ftp伺服器

ftp自動登錄上傳單個文件。
把下面腳本另存為文件加入到crontab中即可實現ftp自動上傳文件。
####把本地/home/databachup/a.sh up ftp /home/databackup 下####
#!/bin/bash
ftp -n<<!
open 192.168.1.171
user guest 123456
binary
cd /home/data
lcd /home/databackup
prompt
put a.sh a.sh
close
bye
!
註解:
1. -n 不受.netrc文件的影響。(ftp默認為讀取.netrc文件中的設定)
2. << 是使用即時文件重定向輸入。
3. !是即時文件的標志它必須成對出現,以標識即時文件的開始和結尾。

Ⅷ 怎麼讓文件自動上傳ftp伺服器

下載FlashFXP軟體,版本不用是最新的。

2
連接上FTP伺服器

3
右鍵點擊需要上傳的文件,高級傳輸->隊列為

4
可以在隊列欄看到隊列信息

5
依次點擊工具->計劃,在已計劃的任務對話框中新建計劃任務

Ⅸ curl ftp 上傳

不要用這個了,下載外免費的FLASHFXP上傳很方便還免費
下載地址從迅雷里找,免費注冊的

Ⅹ windows 命令行不支持被動ftp,如何通過寫windows批處理,定時上傳文件到FTP伺服器

可以使用命令行工具curl,它支持被動模式的ftp訪問

熱點內容
如何尋找資產配置機會 發布:2024-10-13 19:13:47 瀏覽:374
轎車安卓中控怎麼安裝手機卡 發布:2024-10-13 19:05:23 瀏覽:450
商城首頁android 發布:2024-10-13 17:53:20 瀏覽:496
甲骨文雲伺服器如何申請 發布:2024-10-13 16:49:39 瀏覽:135
c語言中參數傳遞 發布:2024-10-13 16:30:15 瀏覽:82
cos伺服器搭建 發布:2024-10-13 16:17:41 瀏覽:336
象棋軟體演算法 發布:2024-10-13 15:32:35 瀏覽:902
平板怎麼看真正配置 發布:2024-10-13 14:53:32 瀏覽:35
微信存儲空間的其他 發布:2024-10-13 14:52:14 瀏覽:672
怎麼繞過系統密碼登錄密碼登錄密碼登錄 發布:2024-10-13 14:47:41 瀏覽:510