.net????sftp??????
???????????? ???????[ 2015/4/22 14:14:01 ] ????????.net sftp??????
97: /// <summary>
98: /// ???SFTP???
99: /// </summary>
100: /// <param name="remoteFile"></param>
101: /// <returns></returns>
102:
103: public void Delete(string remoteFile)
104: {
105: string fullRemotePath = defRemotePath + remoteFile.TrimStart('/');
106: m_sftp.rm(fullRemotePath);
107: }
108: /// <summary>
109: /// ???SFTP????б?
110: /// </summary>
111: /// <param name="remotePath"></param>
112: /// <param name="fileType">??????????(.txt)</param>
113: /// <returns></returns>
114: public List<string> GetFileList(string remotePath?? string fileType)
115: {
116: List<string> objList = new List<string>();
117: string fullRemotePath = defRemotePath + remotePath.TrimStart('/');
118: if (DirExist(fullRemotePath))
119: {
120: Tamir.SharpSsh.java.util.Vector vvv = m_sftp.ls(fullRemotePath);
121: foreach (Tamir.SharpSsh.jsch.ChannelSftp.LsEntry qqq in vvv)
122: {
123: string sss = qqq.getFilename();
124: if (sss.Length > (fileType.Length + 1) && fileType == sss.Substring(sss.Length - fileType.Length))
125: { objList.Add(sss); }
126: else { continue; }
127: }
128: }
129: return objList;
130: }
131:
132: /// <summary>
133: /// ????????
134: /// </summary>
135: /// <param name="dirName">??????????????</param>
136: /// <returns></returns>
137: public bool DirExist(string dirName)
138: {
139: try
140: {
141: m_sftp.ls(defRemotePath + dirName.TrimStart('/'));
142: return true;
143: }
144: catch (Tamir.SharpSsh.jsch.SftpException)
145: {
146: return false;//???ls?????????????????????
147: }
148: }
149:
150: /// <summary>
151: /// ??????
152: /// </summary>
153: /// <param name="dirName">??????????????</param>
154: /// <returns></returns>
155: public void Mkdir(string dirName)
156: {
157: Tamir.SharpSsh.java.util.Vector vvv = m_sftp.ls(defRemotePath);
158: foreach (Tamir.SharpSsh.jsch.ChannelSftp.LsEntry fileName in vvv)
159: {
160: string name = fileName.getFilename();
161: if (name == dirName)
162: {
163: throw new Exception("dir is exist");
164: }
165: }
166: m_sftp.mkdir(defRemotePath + dirName.TrimStart('/'));
167: }
168:
169: /// <summary>
170: /// ????SFTP
171: /// </summary>
172: public void ConnectSftp()
173: {
174: JSch jsch = new JSch(); //????java????????
175: m_session = jsch.getSession(this.UserName?? this.HostName?? this.Port);
176: m_session.setHost(this.HostName);
177: MyUserInfo ui = new MyUserInfo();
178: ui.setPassword(this.Password);
179: m_session.setUserInfo(ui);
180:
181: if (!m_session.isConnected())
182: {
183: m_session.connect();
184: m_channel = m_session.openChannel("sftp");
185: m_channel.connect();
186: m_sftp = (ChannelSftp)m_channel;
187: }
188: }
189:
190: /// <summary>
191: /// ???SFTP
192: /// </summary>
193: public void DisconnectSftp()
194: {
195: if (m_session.isConnected())
196: {
197: m_channel.disconnect();
198: m_session.disconnect();
199: }
200: }
201:
202: #endregion
203:
204: //?????????
205: private class MyUserInfo : UserInfo
206: {
207: String passwd;
208: public String getPassword() { return passwd; }
209: public void setPassword(String passwd) { this.passwd = passwd; }
210:
211: public String getPassphrase() { return null; }
212: public bool promptPassphrase(String message) { return true; }
213:
214: public bool promptPassword(String message) { return true; }
215: public bool promptYesNo(String message) { return true; }
216: public void showMessage(String message) { }
217: }
218:
219: public void Dispose()
220: {
221: this.DisconnectSftp();
222: this.m_channel = null;
223: this.m_session = null;
224: this.m_sftp = null;
225: }
226: }
227:
228: }
????????????????
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<configSections>
<section name="SftpServer" type="System.Configuration.NameValueSectionHandler"/>
</configSections>
<SftpServer>
<add key="host_name" value="127.0.0.1"/>
<add key="user_name" value="test"/>
<add key="password" value="123"/>
</SftpServer>
</configuration>
???????????????????????漰???????????????????SPASVOС??(021-61079698-8054)?????????????????????????
??????
?????????????????(java .net ?????).Net?й???????????Asp.net MVC??ζ???????????????????????Trim????Asp.Net WebForm????????????.Net??????????С????asp.net ???????????.Net??????????????????Linux???Jexus?й?Asp.Net Core??ó??????????????????Netflix?????????C#????????????Log4net??????asp.net??????????????ASP.NET???????JSON?????????????????? .NET ?? Java ???? IT ???.Net??Ч???????????????ù???ASP.NET MVC???????????Щ?£?Linux Netlink???????
???·???
??????????????????
2023/3/23 14:23:39???д?ò??????????
2023/3/22 16:17:39????????????????????Щ??
2022/6/14 16:14:27??????????????????????????
2021/10/18 15:37:44???????????????
2021/9/17 15:19:29???·???????·
2021/9/14 15:42:25?????????????
2021/5/28 17:25:47??????APP??????????
2021/5/8 17:01:11????????
?????????App Bug???????????????????????Jmeter?????????QC??????APP????????????????app?????е????????jenkins+testng+ant+webdriver??????????????JMeter????HTTP???????Selenium 2.0 WebDriver ??????