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

ftp對比api

發布時間: 2022-11-18 12:01:44

A. FTP api編程

建議樓主看下MSDN,樓主既然會用ASM,應該看得懂
HINTERNET InternetConnect(
__in HINTERNET hInternet,
__in LPCTSTR lpszServerName,
__in INTERNET_PORT nServerPort,
__in LPCTSTR lpszUsername,
__in LPCTSTR lpszPassword,
__in DWORD dwService,
__in DWORD dwFlags,
__in DWORD_PTR dwContext
);

B. 怎麼得到ftp目錄上的文件數目 api

你好,添加以下ftpClient.enterLocalPassiveMode(); 就可以了哦,希望對你有幫助!

C. 圖片通過api上傳了,能訪問到,FTP進去找不到是怎麼回事

可能原因與解決辦法:

  1. 檢查上傳的問題是否已放到正確的目錄底下;

  2. 上傳的文件有病毒,被防火牆隔離。 解決方案:請查殺完病毒後上傳;

  3. 上傳軟體問題。解決方案:換用其它上傳方式,確定是否軟體的問題,如是建議更換上傳軟體;

  4. 程序問題。 解決方案:請檢查並更正程序。


FTP 是File Transfer Protocol(文件傳輸協議)的英文簡稱,而中文簡稱為「文傳協議」。用於Internet上的控制文件的雙向傳輸。同時,它也是一個應用程序(Application)。基於不同的操作系統有不同的FTP應用程序,而所有這些應用程序都遵守同一種協議以傳輸文件。

D. 什麼是「FTP」什麼是「流媒體」

FTP(File Transfer Protocal),是文件傳輸協議的簡稱。用於Internet上的控制文件的雙向傳輸。同時,它也是一個應用程序(Application)。用戶可以通過它把自己的PC機與世界各地所有運行FTP協議的伺服器相連,訪問伺服器上的大量程序和信息。
上面抄的。。
其實就是一個埠。提供別人進入瀏覽下載文件的
所謂流媒體是指採用流式傳輸的方式在Internet播放的媒體格式。 流媒體又叫流式媒體,它是指商家用一個視頻傳送伺服器把節目當成數據包發出,傳送到網路上。用戶通過解壓設備對這些數據進行解壓後,節目就會像發送前那樣顯示出來。

這個我專業性的。我也答不好

E. 網路存儲伺服器的NAS與FTP的區別

NAS的網路文件系統與本地文件系統唯一區別是,本地文件系統通過API程序在內部匯流排上完成讀寫要求,而網路文件系統將內部匯流排延伸成了網路,對於上層應用,兩者沒有什麼區別。一旦用戶掛載了網路文件系統目錄到本地,就可以像使用本地文件系統一樣使用網路文件系統。

F. 電腦的API是什麼,是不是就是埠

API不是埠,API是面向程序設計人員的編程介面。API的本質是某個軟體或系統提供給編程人員的一些預定義好的函數。有了這些函數,編程人員通過函數的使用規范來使用它們就可以實現這個程序的相應功能,這樣,程序員只需要專注於自己程序的開發即可,而不需要關注提供API的這個程序內部究竟是如何實現功能的。因此,API相當於一個黑箱,只留一個外部操作介面給編程人員,而無需關注內部具體的實現細節。
埠是計算機內部的程序用來連接網路的出口,是一個虛擬概念。計算機內的每個程序向外連接網路都要通過特定的埠,這樣很容易將數據包歸類整理而避免無法區分產生混亂。外網和計算機上的某個程序通信時,只需要知道該程序所用的埠號,通過這個埠收發信息即可,而不需要知道具體是哪個程序,它有什麼樣的屬性。每個埠都有其特定作用,有些埠號是固定的,如80埠提供HTTP服務讓你可以瀏覽網頁,23埠提供遠程登錄和控制功能,53號埠提供DNS解析服務,讓你通過輸入網址就可以訪問某個網址而不必輸入該網站的IP地址。
在計算機的命令提示符(CMD)中輸入netstat -ano,可以查看當前所有被佔用的埠的工作情況。在IP地址的冒號後面的部分就是埠號。
修改埠是比較復雜的工作,要區分系統埠、應用埠和保留埠。有些可以修改,有些不能修改,而修改的方法也隨不同的程序而異。

G. 請問在vbs中如何定義ftp的api

在VBS中調用WINDOWS的FTP函數較困難,除非你能將API函數封裝成ACTIVEX DLL.下面是網上找到的函數:
***********************************************
FTP 函 數 描 述

InternetOpen 初始化 Win32 internet

InternetConnect 打開一個FTP, HTTP, or Gopher 應用會話

FtpCreateDirectory 在伺服器上建立一個新的目錄

FtpRemoveDirectory 刪除伺服器上的一個目錄

FtpSetCurrentDirectory 設置伺服器上當前的工作目錄

FtpGetCurrentDirectory 返回伺服器當前的工作目錄

FtpOpenFile 打開伺服器上的一個文件進行讀寫

FtpGetFile 接收指定的文件並且在本地建立它

FtpPutFile 發送指定文件到伺服器

FtpDeleteFile 刪除伺服器上一個指定的文件

FtpCommand 發送命令到伺服器

FtpFindFirstFile 返迴文件信息。放在 WIN32_FIND_DATA 結構中

InternetFindNextFile 調用 FtpFindFirstFile()後在目錄中連續查找

FtpRenameFile 修改伺服器上指定的文件的名字

主要是顯示遠端目錄列表,上傳、下載文件,

'########################################################################

'## ##

'## FTPAPI聲明 ##

'## ##

'########################################################################

Public Const ERROR_NO_MORE_FILES = 18

Public Const ERROR_INTERNET_EXTENDED_ERROR = 12003

Public Const FTP_TRANSFER_TYPE_BINARY = &H2

Public Const FTP_TRANSFER_TYPE_ASCII = &H1

Public Const INTERNET_FLAG_PASSIVE = &H8000000

Public Const INTERNET_FLAG_RELOAD = &H80000000

Public Const INTERNET_FLAG_KEEP_CONNECTION = &H400000

Public Const INTERNET_FLAG_MULTIPART = &H200000

Public Const INTERNET_OPEN_TYPE_PRECONFIG = 0

Public Const INTERNET_OPEN_TYPE_DIRECT = 1

Public Const INTERNET_OPEN_TYPE_PROXY = 3

Public Const INTERNET_INVALID_PORT_NUMBER = 0

Public Const INTERNET_SERVICE_FTP = 1

Public Const INTERNET_SERVICE_GOPHER = 2

Public Const INTERNET_SERVICE_HTTP = 3

Public Const MAX_PATH = 260

Public Const NO_ERROR = 0

Public Const FILE_ATTRIBUTE_READONLY = &H1

Public Const FILE_ATTRIBUTE_HIDDEN = &H2

Public Const FILE_ATTRIBUTE_SYSTEM = &H4

Public Const FILE_ATTRIBUTE_DIRECTORY = &H10

Public Const FILE_ATTRIBUTE_ARCHIVE = &H20

Public Const FILE_ATTRIBUTE_NORMAL = &H80

Public Const FILE_ATTRIBUTE_TEMPORARY = &H100

Public Const FILE_ATTRIBUTE_COMPRESSED = &H800

Public Const FILE_ATTRIBUTE_OFFLINE = &H1000

Public Const INTERNET_DEFAULT_FTP_PORT = 21

Public Const INTERNET_DEFAULT_GOPHER_PORT = 70

Public Const INTERNET_DEFAULT_HTTP_PORT = 80

Public Const INTERNET_DEFAULT_HTTPS_PORT = 443

Public Const INTERNET_DEFAULT_SOCKS_PORT = 1080

Public Type FILETIME

dwLowDateTime As Long

dwHighDateTime As Long

End Type

Public Type WIN32_FIND_DATA

dwFileAttributes As Long

ftCreationTime As FILETIME

ftLastAccessTime As FILETIME

ftLastWriteTime As FILETIME

nFileSizeHigh As Long

nFileSizeLow As Long

dwReserved0 As Long

dwReserved1 As Long

cFileName As String * MAX_PATH

cAlternate As String * 14

End Type

'連接FTP伺服器的操作函數

'打開連接internet的會話

Public Declare Function InternetOpen Lib "wininet.dll" Alias "InternetOpenA" _

(ByVal sAgent As String, ByVal lAccessType As Long, ByVal sProxyName As String, _

ByVal sProxyBypass As String, ByVal lFlags As Long) As Long

'sAgent--要調用internet對話的應用程序名

'lAccessType--請求的訪問的類型,包括:

'INTERNET_OPEN_TYPE_PRECONFIG---預配置(預設)

'INTERNET_OPEN_TYPE_DIRECT--直接指向internet

'INTERNET_OPEN_TYPE_PROXY--通過代理伺服器連接

'sProxyName--如果lAccessType被設置為INTERNET_OPEN_TYPE_PROXY,該參數為

'代理伺服器的名字

'sProxyBypass--包含一系列代理伺服器地址的字元串

'lFlags--會話的選項,可包括下列值:

'INTERNET_FLAG_DONT_CACHE--不對數據進行本地緩沖或通過網關伺服器緩沖

'INTERNET_FLAG_ASYNC--當操作完成時,將同INTERNET_STATUS_REQUEST_COMPLETE

'一起進行一個狀態回調

'INTERNET_FLAG_OFFLINE--只通過永久緩沖進行下載操作

'打開一個根據連接類型的Internet連接

Public Declare Function InternetConnect Lib "wininet.dll" Alias "InternetConnectA" _

(ByVal hInternetSession As Long, ByVal sServerName As String, ByVal nServerPort As Integer, _

ByVal sUsername As String, ByVal sPassword As String, ByVal lService As Long, _

ByVal lFlags As Long, ByVal lContext As Long) As Long

'hInternetSession--函數InternetOpen()打開Internet對話返回的值

'sServerName--要連接的伺服器的名稱或IP

'nServerPort--該連接的Internet埠

'sUsername--登錄的用戶帳號

'sPassword--登錄的口令

'lService--要連接的伺服器類型(這里是連接FTP伺服器,連接的類型為常數INTERNET_SERVICE_FTP)

'關閉Internet連接

Public Declare Function InternetCloseHandle Lib "wininet.dll" _

(ByVal hInet As Long) As Integer

'hInet--InternetConnect()函數返回的值

'文件查找操作

'在FTP連接中查找一個文件。在調用此函數後取得第一個文件後,可以接著調用FtpFindNextFile()

'獲得下一個查到的FTP伺服器上的文件。

Public Declare Function FtpFindFirstFile Lib "wininet.dll" Alias "FtpFindFirstFileA" _

(ByVal hFtpSession As Long, ByVal lpszSearchFile As String, _

lpFindFileData As WIN32_FIND_DATA, ByVal dwFlags As Long, ByVal dwContent As Long) As Long

'lpszSearchFile--指向要搜索的文件名。可以通配符*.*的形式。

'lpFindFileData--用於裝載與找到的文件有關的具體信息

'dwFlags--數據傳輸的方式,通常設置為0,(ASCII方式)

'繼續由FtpFindFirstFile()函數發起的文件搜索操作

Public Declare Function InternetFindNextFile Lib "wininet.dll" Alias "InternetFindNextFileA" _

(ByVal hFind As Long, lpvFindData As WIN32_FIND_DATA) As Long

'hFind--FtpFindFirstFile()函數的返回值

'lpvFindData--用於裝載與找到的文件有關的具體信息

'目錄操作

'改變FTP伺服器的當前目錄。

Public Declare Function FtpSetCurrentDirectory Lib "wininet.dll" Alias "FtpSetCurrentDirectoryA" _

(ByVal hFtpSession As Long, ByVal lpszDirectory As String) As Boolean

'lpszDirectory--包含要到達的目錄名。可以是相對的或絕對的路徑。

'在ftp伺服器上創建目錄

Public Declare Function FtpCreateDirectory Lib "wininet.dll" Alias "FtpCreateDirectoryA" _

(ByVal hFtpSession As Long, ByVal lpszDirectory As String) As Boolean

'lpszDirectory--包含要創建目錄的字元串,可以是一個相對路徑或絕對路徑

'取得ftp當前的目錄的名字

Public Declare Function FtpGetCurrentDirectory Lib "wininet.dll" Alias "FtpGetCurrentDirectoryA" _

(ByVal hFtpSession As Long, lpszCurrentDirectory As String, lpdwCurrentDirectory As Long) As Boolean

'lpszCurrentDirectory--存放目錄名字的字元串

'lpdwCurrentDirectory--目錄名字字元串的位元組數

'刪除ftp伺服器的一個目錄

Public Declare Function FtpRemoveDirectory Lib "wininet.dll" Alias "FtpRemoveDirectoryA" _

(ByVal hFtpSession As Long, ByVal lpszDirectory As String) As Boolean

'lpszDirectory--要刪除的目錄名稱,可以是相對路徑或絕對路徑

'文件操作

'從ftp伺服器上取得一個文件並保存在本地機器上,此函數包括了與從一個FTP伺服器中讀取一個文件

'並在本地保存等操作有關的所有功能

Public Declare Function FtpGetFile Lib "wininet.dll" Alias "FtpGetFileA" _

(ByVal hFtpSession As Long, ByVal lpszRemoteFile As String, _

ByVal lpszNewFile As String, ByVal fFailIfExists As Boolean, ByVal dwFlagsAndAttributes As Long, _

ByVal dwFlags As Long, ByVal dwContext As Long) As Boolean

'lpszRemoteFile--包含FTP伺服器中要讀的文件名

'lpszNewFile--在本地機器中要創建的文件名

'fFailIfExists--當為TRUE時,如果文件已經存在,則調用失敗

'dwFlagsAndAttributes--文件的屬性

'dwFlags--文件的傳輸方式可能包括下列值:

'FTP_TRANSFER_TYPE_ASCII--使用可以將控制和格式信息轉換到本地對應文件的ASCII傳輸方式

'FTP_TRANSFER_TYPE_BINARY--使用把文件作為一個連續數據流傳輸的FTP圖象傳輸方式,這種方式

'不區別在文件內部數據結構之間的任何分界(如行結束的回車標記)

'dwContext--要取回的文件的描述表標識符

H. 什麼是WEB服務,FTP 服務,SMTP服務!

通俗的講,Web伺服器傳送(serves)頁面使瀏覽器可以瀏覽,然而應用程序伺服器提供的是客戶端應用程序可以調用(call)的方法(methods)。確切一點,你可以說:Web伺服器專門處理HTTP請求(request),但是應用程序伺服器是通過很多協議來為應用程序提供(serves)商業邏輯(business logic)。

下面讓我們來細細道來:

Web伺服器(Web Server)
Web伺服器可以解析(handles)HTTP協議。當Web伺服器接收到一個HTTP請求(request),會返回一個HTTP響應(response),例如送回一個HTML頁面。為了處理一個請求(request),Web伺服器可以響應(response)一個靜態頁面或圖片,進行頁面跳轉(redirect),或者把動態響應(dynamic response)的產生委託(delegate)給一些其它的程序例如CGI腳本,JSP(JavaServer Pages)腳本,servlets,ASP(Active Server Pages)腳本,伺服器端(server-side)JavaScript,或者一些其它的伺服器端(server-side)技術。無論它們(譯者註:腳本)的目的如何,這些伺服器端(server-side)的程序通常產生一個HTML的響應(response)來讓瀏覽器可以瀏覽。

要知道,Web伺服器的代理模型(delegation model)非常簡單。當一個請求(request)被送到Web伺服器里來時,它只單純的把請求(request)傳遞給可以很好的處理請求(request)的程序(譯者註:伺服器端腳本)。Web伺服器僅僅提供一個可以執行伺服器端(server-side)程序和返回(程序所產生的)響應(response)的環境,而不會超出職能范圍。伺服器端(server-side)程序通常具有事務處理(transaction processing),資料庫連接(database connectivity)和消息(messaging)等功能。

雖然Web伺服器不支持事務處理或資料庫連接池,但它可以配置(employ)各種策略(strategies)來實現容錯性(fault tolerance)和可擴展性(scalability),例如負載平衡(load balancing),緩沖(caching)。集群特徵(clustering—features)經常被誤認為僅僅是應用程序伺服器專有的特徵。

應用程序伺服器(The Application Server)
根據我們的定義,作為應用程序伺服器,它通過各種協議,可以包括HTTP,把商業邏輯暴露給(expose)客戶端應用程序。Web伺服器主要是處理向瀏覽器發送HTML以供瀏覽,而應用程序伺服器提供訪問商業邏輯的途徑以供客戶端應用程序使用。應用程序使用此商業邏輯就象你調用對象的一個方法(或過程語言中的一個函數)一樣。

應用程序伺服器的客戶端(包含有圖形用戶界面(GUI)的)可能會運行在一台PC、一個Web伺服器或者甚至是其它的應用程序伺服器上。在應用程序伺服器與其客戶端之間來回穿梭(traveling)的信息不僅僅局限於簡單的顯示標記。相反,這種信息就是程序邏輯(program logic)。 正是由於這種邏輯取得了(takes)數據和方法調用(calls)的形式而不是靜態HTML,所以客戶端才可以隨心所欲的使用這種被暴露的商業邏輯。

在大多數情形下,應用程序伺服器是通過組件(component)的應用程序介面(API)把商業邏輯暴露(expose)(給客戶端應用程序)的,例如基於J2EE(Java 2 Platform, Enterprise Edition)應用程序伺服器的EJB(Enterprise JavaBean)組件模型。此外,應用程序伺服器可以管理自己的資源,例如看大門的工作(gate-keeping ties)包括安全(security),事務處理(transaction processing),資源池(resource pooling), 和消息(messaging)。就象Web伺服器一樣,應用程序伺服器配置了多種可擴展(scalability)和容錯(fault tolerance)技術。

什麼是FTP呢?FTP 是 TCP/IP 協議組中的協議之一,是英文File Transfer Protocol的縮寫。該協議是Internet文件傳送的基礎,它由一系列規格說明文檔組成,目標是提高文件的共享性,提供非直接使用遠程計算機,使存儲介質對用戶透明和可靠高效地傳送數據。簡單的說,FTP就是完成兩台計算機之間的拷貝,從遠程計算機拷貝文件至自己的計算機上,稱之為「下載(download)」文件。若將文件從自己計算機中拷貝至遠程計算機上,則稱之為「上載(upload)」文件。在TCP/IP協議中,FTP標准命令TCP埠號為21,Port方式數據埠為20。FTP協議的任務是從一台計算機將文件傳送到另一台計算機,它與這兩台計算機所處的位置、聯接的方式、甚至是是否使用相同的操作系統無關。假設兩台計算機通過ftp協議對話,並且能訪問Internet, 你可以用ftp命令來傳輸文件。每種操作系統使用上有某一些細微差別,但是每種協議基本的命令結構是相同的。
FTP的傳輸有兩種方式:ASCII傳輸模式和二進制數據傳輸模式。
1.ASCII傳輸方式:假定用戶正在拷貝的文件包含的簡單ASCII碼文本,如果在遠程機器上運行的不是UNIX,當文件傳輸時ftp通常會自動地調整文件的內容以便於把文件解釋成另外那台計算機存儲文本文件的格式。
但是常常有這樣的情況,用戶正在傳輸的文件包含的不是文本文件,它們可能是程序,資料庫,字處理文件或者壓縮文件(盡管字處理文件包含的大部分是文本,其中也包含有指示頁尺寸,字型檔等信息的非列印字元)。在拷貝任何非文本文件之前,用binary 命令告訴ftp逐字拷貝,不要對這些文件進行處理,這也是下面要講的二進制傳輸。
2.二進制傳輸模式:在二進制傳輸中,保存文件的位序,以便原始和拷貝的是逐位一一對應的。即使目的地機器上包含位序列的文件是沒意義的。例如,macintosh以二進制方式傳送可執行文件到Windows系統,在對方系統上,此文件不能執行。
如果你在ASCII方式下傳輸二進制文件,即使不需要也仍會轉譯。這會使傳輸稍微變慢 ,也會損壞數據,使文件變得不能用。(在大多數計算機上,ASCII方式一般假設每一字元的第一有效位無意義,因為ASCII字元組合不使用它。如果你傳輸二進制文件,所有的位都是重要的。)如果你知道這兩台機器是同樣的,則二進制方式對文本文件和數據文件都是有效的。
5. FTP的工作方式
FTP支持兩種模式,一種方式叫做Standard (也就是 PORT方式,主動方式),一種是 Passive (也就是PASV,被動方式)。 Standard模式 FTP的客戶端發送 PORT 命令到FTP伺服器。Passive模式FTP的客戶端發送 PASV命令到 FTP Server。
下面介紹一個這兩種方式的工作原理:
Port模式FTP 客戶端首先和FTP伺服器的TCP 21埠建立連接,通過這個通道發送命令,客戶端需要接收數據的時候在這個通道上發送PORT命令。 PORT命令包含了客戶端用什麼埠接收數據。在傳送數據的時候,伺服器端通過自己的TCP 20埠連接至客戶端的指定埠發送數據。 FTP server必須和客戶端建立一個新的連接用來傳送數據。
Passive模式在建立控制通道的時候和Standard模式類似,但建立連接後發送的不是Port命令,而是Pasv命令。FTP伺服器收到Pasv命令後,隨機打開一個高端埠(埠號大於1024)並且通知客戶端在這個埠上傳送數據的請求,客戶端連接FTP伺服器此埠,然後FTP伺服器將通過這個埠進行數據的傳送,這個時候FTP server不再需要建立一個新的和客戶端之間的連接。
很多防火牆在設置的時候都是不允許接受外部發起的連接的,所以許多位於防火牆後或內網的FTP伺服器不支持PASV模式,因為客戶端無法穿過防火牆打開FTP伺服器的高端埠;而許多內網的客戶端不能用PORT模式登陸FTP伺服器,因為從伺服器的TCP 20無法和內部網路的客戶端建立一個新的連接,造成無法工作。

SMTP是SIMPLE MAIL TRANSFER PROTOCOL的縮寫,一般的發信軟體,如Outlook Express、FoxMail、Eudora都是使用這個協議進行發信的。如果你的ISP沒有提供SMTP伺服器,那你就無法使用該協議發送信件。無法從一個郵箱的域名知道它是否提供SMTP服務或者SMTP伺服器是什麼。如果不知道自己信箱的SMTP伺服器,可以向提供信箱的ISP詢問。現在為了避免濫發垃圾郵件,許多免費郵件的提供商都不提供SMTP伺服器,如Hotmail、eyou,這些免費郵件用戶只能登錄後通過瀏覽器發信。收費郵件一般都提供POP3和SMTP伺服器。

I. 電腦的API是什麼,是不是就是埠

API並不是埠。


API是Application Programming Interface的縮寫,指的是應用程序編程介面。API包含一系列已經定義好的函數。使用封裝好的API函數可以輕松的訪問硬體,獲得成熟的程序架構,使用復雜的數學函數等等。可以提高程序的可移植性,降低開發復雜度,提高程序穩定性等等。幾乎所有的程序都需要利用API,包括其他個人或組織編寫的API庫,或者是項目內部封裝的API。


下圖是微軟公司提供的核心系統功能API說明(部分函數)。通過該文檔,可以了解哪些介面可以被使用,用途,以及如何被使用。

J. 軟體開發方面的問題:什麼叫API方式跟Webservice有什麼聯系,什麼又是數據視圖提供方式、FTP方式。

api:應用程序開發介面。一般是提供一些庫文件,然後調用。優點:效率高,集成度好;缺點:需要本地修改代碼,依賴性比較大。
webservice:顧名思義是網站式服務,也就是說通過網址接入的方式訪問服務,不需要本地調用api。優點:通過網路訪問,與語言無關;需要網路支持,受網路及服務端性能限制。
視圖:估計你的意思是通過遠程訪問資料庫視圖吧,這種就直接訪問人家資料庫了,需要的是資料庫驅動和網路支持。優點:直接看到數據,便於處理;缺點:需要明白人家的數據結構和邏輯,不透明。
ftp:這種就比較牽強了,通過ftp交換文件,解析文件來傳遞數據信息。優點:傳統的ftp協議很通用,便於部署維護;缺點:需要自己解析和處理文件格式。
以上是我大概寫的,希望能幫助你。