用libssh2的接口来实现获取远端文件。步骤如下:
1. 创建socket
2. ssh 握手
1)libssh2_session_init
2)libssh2_session_handshake
3)libssh2_userauth_password
3. sftp 连接
libssh2_sftp_init
4. 获取文件
1)libssh2_sftp_open
2)libssh2_sftp_fstat
3)libssh2_sftp_read
代码如下:
#ifndef SFTP_H
#define SFTP_H
#include
using namespace std;
class Sftp
{
public:
int Init(const char *pIp, const char *pUser, const char *pPwd);
void Release();
int GetFile(const char *pName, char *&pData, int &nLen);
private:
string m_strIp;
string m_strUser;
string m_strPasswd;
};
#endif
#include "Sftp.h"
#include
#include
#include
#include
#include
#include
i