curlftp
A. 如果伺服器端的ftp或http服務的埠號不是默認的21或80,如何使用curl命令下載文件
httpftp協議在使用默認埠的情況下,瀏覽器和ftp軟體在沒有設置情況下會自動嘗試連接該服務的默認埠。如在伺服器上修改了其服務的默認埠,你在嘗試使用該服務的客戶機上必須指定特定的埠號,匹配你伺服器所設定的。
例如linux下使用apache創建了虛擬站點(伺服器),並使用了88埠你在訪問這個虛擬站點就必須指定埠號,如
"http://virtual.website.com:88/path"
#:80在網址後添加分號並指定埠號。其後可以指定網站的路徑和頁面,一般不指定。
linux環境下常用apache架設web伺服器(至少我的是=ω=),修改httpd.conf中的默認監聽埠Listen80#
如若是虛擬站點需修改
NameVirtualHost*:80
<VirtualHost*:80>
兩項
至於ftp,由於不清楚你使用的是哪款軟體驅動服務的,所以不做解釋(無需必要,參考軟體設置文檔或告知軟體名並提問)
PSvsftpd修改vsftpd.conf中的listen_port=21
B. 如何用curl驗證url或者ftp地址的有效性嗎 - 技術問答
STATUS_CODE=`curl -o /dev/null -s -w %{http_code} ${your_url}`
如果是200,這表示url有效
C. 如何使用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機器了。
D. 怎麼用libcurl實現ftp斷點續傳
這個需要FTP server支持append,我之前用它的命令行測試過的,libcurl可以實現斷點續傳。
E. 使用curl進行ftp上傳 為什麼第二次報錯curle
使用curl庫,以post方式向伺服器發送json數據 //json數據的組合可以參考jsoncpp庫
F. 編程:萬兆網口的linux系統,使用curl做ftp客戶端,到達2G帶寬後就上不去了,請問什麼原因
要麼設備問題,要麼驅動問題
G. PHP 通過curl下載ftp文件,怎麼設置埠號
ftp://172.19.71.63:8080/Flipped.2010.BluRay.720p.DTS.x264-CHD.sample.mkv
H. libcurl ftp支不支持被動模式
使用虛擬主機的時候,往往需要使用FTP相關軟體客戶端上傳網站文件,但是往往在連接FTP客戶端過程出現這樣或那樣的問題.授人以魚不如授人以漁,今天周良在這里將向大家詳解關於FTP連接的兩種模式,和大家一同分享,只要搞懂了FTP的連接過程,以後遇到相應的連接問題就可以輕松搞定了。
I. 如何用curl實現ftp伺服器
由於項目的需要,利用libcurl編寫程序與ftp伺服器通信,進行文件上傳或下載,愈發地感到curl功能的強悍。
其實在命令行下直接使用curl命令就可以完成這些功能,但是需要獲取上傳下載行為的狀態以便更好地控制。
J. 關於libcurl庫如何在ftp上創建文件和文件夾
在你的curl_easy_perform函數執行之前加上這一句curl_easy_setopt(yourhandle, CURLOPT_FTP_CREATE_MISSING_DIRS, 1); 達到的效果是遠程伺服器如果沒有這個目錄,會自動創建然後上傳文件到這個目錄下面。你問的那個問題應該跟這個有些類似,建議你多看看頭文件的定義和文檔。