2011-04-06 39 views
3

我爲需要執行FTP命令的預定系統創建一個模塊。FTPWebRequest - 如何在主機地址中不使用ftp://進行連接?

我們試圖連接的ftp主機只是一個IP地址。即低於

FtpWebRequest request = (FtpWebRequest)WebRequest.Create("10.1.1.1"); 

當試圖執行此,它抱怨說,當FTP前綴它不能定義連接,精細的類型://但隨後它不解決作爲主機不存在。我無法更改爲主機的主機頭。

是否有某種方法可以將Uri定義爲FTP地址而不將其包含在地址中?似乎一個方便的枚舉將它理想識別爲一個FTP或HTTP等

或者有另一種方式來連接到我還沒有找到的FTP站點?

TIA

+0

我不明白。主機IP爲10.1.1.1,協議爲FTP,因此使用ftp方案的URI應該沒問題。我錯過了什麼? – spender 2011-04-06 22:57:56

+0

我認爲你必須專門配置一臺服務器作爲FTP服務器才能工作 - 你確定你的「ftp主機」是爲FTP配置的嗎? – MusiGenesis 2011-04-06 23:00:19

回答

5

爲什麼你不能簡單地添加ftp://的地址?

FtpWebRequest request = (FtpWebRequest)WebRequest.Create("ftp://10.1.1.1"); 

WebRequest需要,才能知道要創建什麼樣的WebRequest執行的協議信息(WebRequest是由HttpWebRequestFtpWebRequest實現了一個抽象類)。

+0

我很困惑,並將協議作爲地址的一部分。基本上,這種方式有一個很大的怪異代理,並且FtpWebRequest並沒有處理它。找到一個體面的庫,包裝Wininet API,並使用它,而不是一個問題。歡呼求助 – Chris 2011-04-11 21:25:26

相關問題