當前位置:首頁 » 文件傳輸 » curlftp
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

curlftp

發布時間: 2022-02-17 19:34:57

1. 使用curl進行ftp上傳 為什麼第二次報錯curle

使用curl庫,以post方式向伺服器發送json數據 //json數據的組合可以參考jsoncpp庫

2. libcurl ftp支不支持被動模式

使用虛擬主機的時候,往往需要使用FTP相關軟體客戶端上傳網站文件,但是往往在連接FTP客戶端過程出現這樣或那樣的問題.授人以魚不如授人以漁,今天周良在這里將向大家詳解關於FTP連接的兩種模式,和大家一同分享,只要搞懂了FTP的連接過程,以後遇到相應的連接問題就可以輕松搞定了。

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

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

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

5. 如何用curl驗證url或者ftp地址的有效性嗎 - 技術問答

STATUS_CODE=`curl -o /dev/null -s -w %{http_code} ${your_url}`
如果是200,這表示url有效

6. 如何用curl實現ftp伺服器

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

7. 如果伺服器端的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

8. 關於libcurl庫如何在ftp上創建文件和文件夾

在你的curl_easy_perform函數執行之前加上這一句curl_easy_setopt(yourhandle, CURLOPT_FTP_CREATE_MISSING_DIRS, 1); 達到的效果是遠程伺服器如果沒有這個目錄,會自動創建然後上傳文件到這個目錄下面。你問的那個問題應該跟這個有些類似,建議你多看看頭文件的定義和文檔。