-
-
Notifications
You must be signed in to change notification settings - Fork 3
/
Sandefine.cpp
221 lines (220 loc) · 6.72 KB
/
Sandefine.cpp
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
#include "Sandefine.h"
#include <QDebug>
#include <windows.h>
#include <qt_windows.h>
Sandefine::Sandefine()
{
}
QString errcode2str(int errcode)
{
LPVOID lpMsgBuf;
FormatMessage(
FORMAT_MESSAGE_ALLOCATE_BUFFER |
FORMAT_MESSAGE_FROM_SYSTEM |
FORMAT_MESSAGE_IGNORE_INSERTS,
NULL,
errcode,
MAKELANGID(LANG_NEUTRAL, SUBLANG_DEFAULT), // Default language
(LPTSTR) &lpMsgBuf,
0,
NULL
);
//MessageBox(hWnd,(LPCTSTR)lpMsgBuf,"Error",MB_OK);
//qDebug()<<QString::fromWCharArray((LPTSTR)lpMsgBuf);
return QString::fromWCharArray((LPTSTR)lpMsgBuf);
}
QString curlerr2str(int errcode)
{
switch(errcode)
{
case 0:
return "成功";
case 1:
return "协议不受支持";
case 2:
return "libcurl模块错误";
case 3:
return "URL格式错误";
case 4:
return "libcurl模块功能缺失";
case 5:
return "无法解析代理";
case 6:
return "无法解析远程主机";
case 7:
return "无法链接至远程主机(或代理)";
case 8:
return "FTP返回意料外的答复";
case 9:
return "指定资源访问被拒绝";
case 10:
return "等待FTP回连时发送了错误代码";
case 11:
return "发送密码到FTP服务器后收到了意外的代码";
case 12:
return "等待FTP时CURLOPT_ACCEPTTIMOUT_MS或默认值超时";
case 13:
return "未能获得合理的结果(PASV或EPSV收到异常回复)";
case 14:
return "FTP 277";
case 15:
return "解析新链接内部错误";
case 16:
return "";
case 17:
return "无法将传输模式设置为二进制或ASCII";
case 18:
return "收到的文件大小不符合预期";
case 19:
return "RETR恢复错误或0字节传输完成";
case 20:
return "";
case 21:
return "QUOTE收到>400的回复";
case 22:
return "HTTP返回>400";
case 23:
return "写出到文件时错误";
case 24:
return "";
case 25:
return "无法启动上传(可查询错误缓冲区)";
case 26:
return "读取本地文件或读取回调错误";
case 27:
return "内存分配请求失败!";
case 28:
return "操作超时";
case 29:
return "";
case 30:
return "FTP端口错误(详见CURLPOT_FTPPORT)";
case 31:
return "FTP REST命令返回错误";
case 32:
return "";
case 33:
return "服务器不接受范围请求";
case 34:
return "libcurl表示?\r\n错误34";
case 35:
return "SSL/TLS握手错误\r\n详见错误缓冲区";
case 36:
return "指定的偏移超出文件大小";
case 37:
return "FILE提供的文件无法打开";
case 38:
return "LDAP绑定失败";
case 39:
return "LDAP搜索失败";
case 40:
return "";
case 41:
return "未找到需要的zlib函数";
case 42:
return "回调中止";
case 43:
return "内部错误,某个函数使用了一个错误的参数";
case 44:
return "";
case 45:
return "指定的出站界面错误,请检查CURLOPT_INTERFACE设置";
case 46:
return "";
case 47:
return "重定向过多,请检查CURLOPT_MAXREDIRS设置";
case 48:
return "选项不被识别,请查阅相关文档或查询错误缓冲区信息.";
case 49:
return "telnet选项字符被非法格式化";
case 50:
return "";
case 51:
return "远程服务器的SLL证书或SSH MD5被认为不正常";
case 52:
return "未收到任何返回";
case 53:
return "未找到指定的加密(SSL)引擎";
case 54:
return "默认设置所选择的SSL加密引擎出现错误";
case 55:
return "发送网络数据失败";
case 56:
return "接受网络数据失败";
case 57:
return "";
case 58:
return "本地客户端证书出现问题";
case 59:
return "无法使用指定的密码(SSL)";
case 60:
return "对等证书无法通过已知的CA证书进行身份验证";
case 61:
return "无法识别传输的编码";
case 62:
return "无效的LDAP地址";
case 63:
return "超过最大文件大小";
case 64:
return "请求的FTP SSL级别失败";
case 65:
return "发送的数据不得不倒带重发时,倒带失败";
case 66:
return "启动SSL引擎失败";
case 67:
return "远程服务器拒绝卷曲登录";
case 68:
return "TFTP服务器上找不到文件";
case 69:
return "TFTP服务器上权限问题";
case 70:
return "超出服务器空间限制";
case 71:
return "非法TFTP操作";
case 72:
return "未知的TFTP传输ID";
case 73:
return "文件已存在,不会被覆盖";
case 74:
return "TFTP服务器返回了不对劲的东西";
case 75:
return "字符转换失败";
case 76:
return "呼叫者必须注册转换回调";
case 77:
return "读取SSL CA证书出现问题";
case 78:
return "URL中引用的资源不存在";
case 79:
return "SSH会话期间出现未指定的错误";
case 80:
return "无法关闭SSL链接";
case 81:
return "Socket发送准备未就绪";
case 82:
return "无法加载CRL文件";
case 83:
return "发行人检查失败";
case 84:
return "FTP服务器根本不了解PRET命令,也不支持给定的参数。使用CURLOPT_CUSTOMREQUEST时要小心,在PASV之前也会使用自定义LIST命令与PRET CMD一起发送";//这tm是什么东西?
case 85:
return "RTSP CSeq号码不匹配";
case 86:
return "RTSP会话标识符不匹配";
case 87:
return "无法解析FTP文件列表(在FTP通配符下载期间)";
case 88:
return "块回调报告错误";
case 89:
return "不存在的错误(无连接可用,会话将排队)";
case 90:
return "无法匹配使用CURLOPT_PINNEDPUBLICKEY指定的固定密钥";
case 91:
return "使用CURLOPT_SSL_VERIFYSTATUS询问状态时返回失败";
case 92:
return "HTTP/2框架层中的流错误";
default:
return "哈?";
}
return "哈??";
}