1
using System;
2
using MSXML2;
3
using System.Web;
4
namespace JJBase.NET.HTTP
5
{
6
/// <summary>
7
/// JJBase 的摘要说明。
8
/// </summary>
9
/// RFC2616 - Hypertext Transfer Protocol -- HTTP/1.1
10
/// 协议参考:http://www.cnpaf.net/Class/Rfcen/053291853591170.html
11
/// author:梁俊杰
12
/// date:2005-8-23
13
/// 功能:实现http数据包的发送和接收
14
public class msXML
15
{
16
17
public struct NetData
18
{
19
public RequestHeader RequestHead;
20
public ResponseHeader ResponseHead;
21
}
22
public struct RequestHeader
23
{
24
public string Method;
25
public string Url;
26
public string User;
27
public string Password;
28
public string Accept;
29
public string AcceptCharset;
30
public string AcceptEncoding;
31
public string AcceptLanguage;
32
public string ContentType;
33
public string Authorization;
34
public string CacheControl;
35
public string Expect;
36
public string From;
37
public string Host;
38
public string IfMatch;
39
public string IfModifiedSince;
40
public string IfNoneMatch;
41
public string IfRange;
42
public string IfUnmodifiedSince;
43
public string MaxForwards;
44
public string ProxyAuthorization;
45
public string Range;
46
public string Referer;
47
public string TE;
48
public string UserAgent;
49
public string Pragma;
50
public string Connection;
51
public string ContentLength;
52
public string Cookie;
53
public string SendData;
54
}
55
public struct ResponseHeader
56
{
57
public string StatusCode;
58
public string Allow;
59
public DateTime Date;
60
public string ContentEncoding;
61
public string ContentLanguage;
62
public string ContentLength;
63
public string ContentLocation;
64
public string ContentMD5;
65
public string ContentRange;
66
public string ContentType;
67
public string LastModified;
68
public string Expires;
69
public string AcceptRanges;
70
public string Age;
71
public string ETag;
72
public string Location;
73
public string ProxyAuthenticate;
74
public string RetryAfter;
75
public string Server;
76
public string Vary;
77
public string WWWAuthenticate;
78
public string Pragma;
79
public string Connection;
80
public string SetCookie;
81
public string GetData;
82
public string AllHeaders;
83
}
84
85
public msXML()
86
{
87
//
88
// TODO: 在此处添加构造函数逻辑
89
//
90
}
91
public string GetHtmlData(ref NetData nd)
92
{
93
string result="";
94
string User="";
95
string Password="";
96
string Method="";
97
string g_AllResponseHeaders="";
98
//处理提交数据前的数据头
99
if (nd.RequestHead.User!=""&&nd.RequestHead.User!=null) User=nd.RequestHead.User;
100
if (nd.RequestHead.Password!=""&&nd.RequestHead.Password!=null) Password=nd.RequestHead.Password;
101
if (nd.RequestHead.Method.ToString()==""&&nd.RequestHead.Method==null) {return "";}
102
else{
103
Method=nd.RequestHead.Method.ToString().ToUpper();
104
}
105
MSXML2.ServerXMLHTTP SXmlHttp = new MSXML2.ServerXMLHTTP();
106
if (User==""){SXmlHttp.open(Method,nd.RequestHead.Url,false,"","");}
107
else{
108
SXmlHttp.open(Method,nd.RequestHead.Url,false,User,Password);}
109
if (nd.RequestHead.Accept!=""&&nd.RequestHead.Accept!=null) SXmlHttp.setRequestHeader("Accept",nd.RequestHead.Accept);
110
if (nd.RequestHead.AcceptCharset!=""&&nd.RequestHead.AcceptCharset!=null) SXmlHttp.setRequestHeader("Accept-Charset",nd.RequestHead.AcceptCharset);
111
if (nd.RequestHead.AcceptEncoding!=""&&nd.RequestHead.AcceptEncoding!=null) SXmlHttp.setRequestHeader("Accept-Encoding",nd.RequestHead.AcceptEncoding);
112
if (nd.RequestHead.AcceptLanguage!=""&&nd.RequestHead.AcceptLanguage!=null) SXmlHttp.setRequestHeader("Accept-Language",nd.RequestHead.AcceptLanguage);
113
if (nd.RequestHead.ContentType!=""&&nd.RequestHead.ContentType!=null) SXmlHttp.setRequestHeader("Content-Type",nd.RequestHead.ContentType);
114
if (nd.RequestHead.Authorization!=""&&nd.RequestHead.Authorization!=null) SXmlHttp.setRequestHeader("Authorization",nd.RequestHead.Authorization);
115
if (nd.RequestHead.CacheControl!=""&&nd.RequestHead.CacheControl!=null) SXmlHttp.setRequestHeader("Cache-Control",nd.RequestHead.CacheControl);
116
if (nd.RequestHead.Expect!=""&&nd.RequestHead.Expect!=null) SXmlHttp.setRequestHeader("Expect",nd.RequestHead.Expect);
117
if (nd.RequestHead.From!=""&&nd.RequestHead.From!=null) SXmlHttp.setRequestHeader("From",nd.RequestHead.From);
118
if (nd.RequestHead.Host!=""&&nd.RequestHead.Host!=null) SXmlHttp.setRequestHeader("Host",nd.RequestHead.Host);
119
if (nd.RequestHead.IfMatch!=""&&nd.RequestHead.IfMatch!=null) SXmlHttp.setRequestHeader("If-Match",nd.RequestHead.IfMatch);
120
if (nd.RequestHead.IfModifiedSince!=""&&nd.RequestHead.IfModifiedSince!=null) SXmlHttp.setRequestHeader("If-Modified-Since",nd.RequestHead.IfModifiedSince);
121
if (nd.RequestHead.IfNoneMatch!=""&&nd.RequestHead.IfNoneMatch!=null) SXmlHttp.setRequestHeader("If-None-Match",nd.RequestHead.IfNoneMatch);
122
if (nd.RequestHead.IfRange!=""&&nd.RequestHead.IfRange!=null) SXmlHttp.setRequestHeader("If-Range",nd.RequestHead.IfRange);
123
if (nd.RequestHead.IfUnmodifiedSince!=""&&nd.RequestHead.IfUnmodifiedSince!=null) SXmlHttp.setRequestHeader("If-Unmodified-Since",nd.RequestHead.IfUnmodifiedSince);
124
if (nd.RequestHead.MaxForwards!=""&&nd.RequestHead.MaxForwards!=null) SXmlHttp.setRequestHeader("Max-Forwards",nd.RequestHead.MaxForwards);
125
if (nd.RequestHead.ProxyAuthorization!=""&&nd.RequestHead.ProxyAuthorization!=null) SXmlHttp.setRequestHeader("Proxy-Authorization",nd.RequestHead.ProxyAuthorization);
126
if (nd.RequestHead.Range!=""&&nd.RequestHead.Range!=null) SXmlHttp.setRequestHeader("Range",nd.RequestHead.Range);
127
if (nd.RequestHead.Referer!=""&&nd.RequestHead.Referer!=null) SXmlHttp.setRequestHeader("Referer",nd.RequestHead.Referer);
128
if (nd.RequestHead.TE!=""&&nd.RequestHead.TE!=null) SXmlHttp.setRequestHeader("TE",nd.RequestHead.TE);
129
if (nd.RequestHead.UserAgent!=""&&nd.RequestHead.UserAgent!=null) SXmlHttp.setRequestHeader("User-Agent",nd.RequestHead.UserAgent);
130
if (nd.RequestHead.Pragma!=""&&nd.RequestHead.Pragma!=null) SXmlHttp.setRequestHeader("Pragma",nd.RequestHead.Pragma);
131
if (nd.RequestHead.Connection!=""&&nd.RequestHead.Connection!=null) SXmlHttp.setRequestHeader("Connection",nd.RequestHead.Connection);
132
if (nd.RequestHead.ContentLength!=""&&nd.RequestHead.ContentLength!=null) SXmlHttp.setRequestHeader("Content-Length",nd.RequestHead.ContentLength);
133
if (nd.RequestHead.Cookie!=""&&nd.RequestHead.Cookie!=null) SXmlHttp.setRequestHeader("Cookie",nd.RequestHead.Cookie);
134
135
switch(Method)
136
{
137
case "GET":
138
{
139
try
140
{
141
SXmlHttp.send("");
142
}
143
catch(Exception ex)
144
{
145
return ex.Message.ToString();
146
}
147
finally{}
148
break;
149
}
150
case "POST":
151
{
152
try
153
{
154
SXmlHttp.setRequestHeader("Content-Length",nd.RequestHead.SendData.Length.ToString ());
155
SXmlHttp.send(nd.RequestHead.SendData);
156
}
157
catch(Exception ex)
158
{
159
return ex.Message.ToString();
160
}
161
finally{}
162
break;
163
}
164
165
}
166
nd.ResponseHead.StatusCode=SXmlHttp.status.ToString();
167
g_AllResponseHeaders = SXmlHttp.getAllResponseHeaders();
168
nd.ResponseHead.AllHeaders=g_AllResponseHeaders;
169
//处理返回的数据头
170
if (g_AllResponseHeaders.IndexOf("Allow")>0) nd.ResponseHead.Allow=SXmlHttp.getResponseHeader("Allow");
171
if (g_AllResponseHeaders.IndexOf("Date")>0) nd.ResponseHead.Date=Convert.ToDateTime(SXmlHttp.getResponseHeader("Date"));
172
if (g_AllResponseHeaders.IndexOf("Content-Encoding")>0) nd.ResponseHead.ContentEncoding=SXmlHttp.getResponseHeader("Content-Encoding");
173
if (g_AllResponseHeaders.IndexOf("Content-Language")>0) nd.ResponseHead.ContentLanguage=SXmlHttp.getResponseHeader("Content-Language");
174
if (g_AllResponseHeaders.IndexOf("Content-Length")>0) nd.ResponseHead.ContentLength=SXmlHttp.getResponseHeader("Content-Length");
175
if (g_AllResponseHeaders.IndexOf("Content-Location")>0) nd.ResponseHead.ContentLocation=SXmlHttp.getResponseHeader("Content-Location");
176
if (g_AllResponseHeaders.IndexOf("Content-MD5")>0) nd.ResponseHead.ContentMD5=SXmlHttp.getResponseHeader("Content-MD5");
177
if (g_AllResponseHeaders.IndexOf("Content-Range")>0) nd.ResponseHead.ContentRange=SXmlHttp.getResponseHeader("Content-Range");
178
if (g_AllResponseHeaders.IndexOf("Content-Type")>0) nd.ResponseHead.ContentType=SXmlHttp.getResponseHeader("Content-Type");
179
if (g_AllResponseHeaders.IndexOf("Last-Modified")>0) nd.ResponseHead.LastModified=SXmlHttp.getResponseHeader("Last-Modified");
180
if (g_AllResponseHeaders.IndexOf("Expires")>0) nd.ResponseHead.Expires=SXmlHttp.getResponseHeader("Expires");
181
if (g_AllResponseHeaders.IndexOf("Accept-Ranges")>0) nd.ResponseHead.AcceptRanges=SXmlHttp.getResponseHeader("Accept-Ranges");
182
if (g_AllResponseHeaders.IndexOf("Age")>0) nd.ResponseHead.Age=SXmlHttp.getResponseHeader("Age");
183
if (g_AllResponseHeaders.IndexOf("ETag")>0) nd.ResponseHead.ETag=SXmlHttp.getResponseHeader("ETag");
184
if (g_AllResponseHeaders.IndexOf("Location")>0) nd.ResponseHead.Location=SXmlHttp.getResponseHeader("Location");
185
if (g_AllResponseHeaders.IndexOf("Proxy-Authenticate")>0) nd.ResponseHead.ProxyAuthenticate=SXmlHttp.getResponseHeader("Proxy-Authenticate");
186
if (g_AllResponseHeaders.IndexOf("Retry-After")>0) nd.ResponseHead.RetryAfter=SXmlHttp.getResponseHeader("Retry-After");
187
if (g_AllResponseHeaders.IndexOf("Server")>0) nd.ResponseHead.Server=SXmlHttp.getResponseHeader("Server");
188
if (g_AllResponseHeaders.IndexOf("Vary")>0) nd.ResponseHead.Vary=SXmlHttp.getResponseHeader("Vary");
189
if (g_AllResponseHeaders.IndexOf("WWW-Authenticate")>0) nd.ResponseHead.WWWAuthenticate=SXmlHttp.getResponseHeader("WWW-Authenticate");
190
if (g_AllResponseHeaders.IndexOf("Pragma")>0) nd.ResponseHead.RetryAfter=SXmlHttp.getResponseHeader("Retry-After");
191
if (g_AllResponseHeaders.IndexOf("Connection")>0) nd.ResponseHead.Connection=SXmlHttp.getResponseHeader("Connection");
192
if (g_AllResponseHeaders.IndexOf("Set-Cookie")>0) nd.ResponseHead.SetCookie=SXmlHttp.getResponseHeader("Set-Cookie");
193
if (g_AllResponseHeaders.IndexOf("Retry-After")>0) nd.ResponseHead.RetryAfter=SXmlHttp.getResponseHeader("Retry-After");
194
if (g_AllResponseHeaders.IndexOf("Retry-After")>0) nd.ResponseHead.RetryAfter=SXmlHttp.getResponseHeader("Retry-After");
195
//取得字符集,不进行此项操作可能出现乱码
196
string charset="gb2312";
197
if (nd.ResponseHead.ContentType.ToString().IndexOf("utf-8")>0){charset="utf-8";}
198
result=BYTE2STR((byte[])SXmlHttp.responseBody,charset);
199
nd.ResponseHead.GetData=result;
200
SXmlHttp=null;
201
return result;
202
}
203
private string BYTE2STR(byte[] vIn,string charset)
204
{
205
// int ThisCharCode,NextCharCode,HZCode;
206
// string strReturn="";
207
// for (int i = 1; i <= vIn.Length ; i++)
208
// {
209
// ThisCharCode =Convert.ToInt32(vIn[i]);
210
// if (ThisCharCode < 128)
211
// {
212
// strReturn = strReturn +Convert.ToChar(ThisCharCode);
213
// }
214
// else
215
// {
216
// NextCharCode =vIn[i+1];
217
// HZCode=ThisCharCode * 256 +NextCharCode;
218
// strReturn = strReturn + Convert.ToChar(HZCode);
219
// i = i + 1;
220
// }
221
// }
222
// return strReturn;
223
try
224
{
225
return System.Text.Encoding.GetEncoding(charset).GetString(vIn).ToString();
226
}
227
catch(Exception ex){return ex.Message;}
228
}
229
230
}
231
}
using System;2
using MSXML2;3
using System.Web;4
namespace JJBase.NET.HTTP5
{6
/// <summary>7
/// JJBase 的摘要说明。8
/// </summary>9
/// RFC2616 - Hypertext Transfer Protocol -- HTTP/1.110
/// 协议参考:http://www.cnpaf.net/Class/Rfcen/053291853591170.html11
/// author:梁俊杰12
/// date:2005-8-2313
/// 功能:实现http数据包的发送和接收14
public class msXML15
{16
17
public struct NetData18
{19
public RequestHeader RequestHead;20
public ResponseHeader ResponseHead;21
}22
public struct RequestHeader23
{24
public string Method;25
public string Url;26
public string User;27
public string Password;28
public string Accept;29
public string AcceptCharset;30
public string AcceptEncoding;31
public string AcceptLanguage;32
public string ContentType;33
public string Authorization;34
public string CacheControl; 35
public string Expect;36
public string From;37
public string Host;38
public string IfMatch;39
public string IfModifiedSince;40
public string IfNoneMatch;41
public string IfRange;42
public string IfUnmodifiedSince;43
public string MaxForwards;44
public string ProxyAuthorization;45
public string Range;46
public string Referer;47
public string TE;48
public string UserAgent;49
public string Pragma;50
public string Connection;51
public string ContentLength;52
public string Cookie;53
public string SendData; 54
}55
public struct ResponseHeader56
{57
public string StatusCode;58
public string Allow;59
public DateTime Date;60
public string ContentEncoding;61
public string ContentLanguage;62
public string ContentLength;63
public string ContentLocation;64
public string ContentMD5;65
public string ContentRange;66
public string ContentType;67
public string LastModified;68
public string Expires;69
public string AcceptRanges;70
public string Age;71
public string ETag;72
public string Location;73
public string ProxyAuthenticate;74
public string RetryAfter;75
public string Server;76
public string Vary;77
public string WWWAuthenticate;78
public string Pragma;79
public string Connection;80
public string SetCookie; 81
public string GetData;82
public string AllHeaders;83
}84
85
public msXML()86
{87
//88
// TODO: 在此处添加构造函数逻辑89
//90
}91
public string GetHtmlData(ref NetData nd)92
{93
string result="";94
string User="";95
string Password="";96
string Method="";97
string g_AllResponseHeaders="";98
//处理提交数据前的数据头99
if (nd.RequestHead.User!=""&&nd.RequestHead.User!=null) User=nd.RequestHead.User;100
if (nd.RequestHead.Password!=""&&nd.RequestHead.Password!=null) Password=nd.RequestHead.Password;101
if (nd.RequestHead.Method.ToString()==""&&nd.RequestHead.Method==null) {return "";}102
else{103
Method=nd.RequestHead.Method.ToString().ToUpper();104
}105
MSXML2.ServerXMLHTTP SXmlHttp = new MSXML2.ServerXMLHTTP();106
if (User==""){SXmlHttp.open(Method,nd.RequestHead.Url,false,"","");}107
else{108
SXmlHttp.open(Method,nd.RequestHead.Url,false,User,Password);}109
if (nd.RequestHead.Accept!=""&&nd.RequestHead.Accept!=null) SXmlHttp.setRequestHeader("Accept",nd.RequestHead.Accept);110
if (nd.RequestHead.AcceptCharset!=""&&nd.RequestHead.AcceptCharset!=null) SXmlHttp.setRequestHeader("Accept-Charset",nd.RequestHead.AcceptCharset);111
if (nd.RequestHead.AcceptEncoding!=""&&nd.RequestHead.AcceptEncoding!=null) SXmlHttp.setRequestHeader("Accept-Encoding",nd.RequestHead.AcceptEncoding);112
if (nd.RequestHead.AcceptLanguage!=""&&nd.RequestHead.AcceptLanguage!=null) SXmlHttp.setRequestHeader("Accept-Language",nd.RequestHead.AcceptLanguage);113
if (nd.RequestHead.ContentType!=""&&nd.RequestHead.ContentType!=null) SXmlHttp.setRequestHeader("Content-Type",nd.RequestHead.ContentType);114
if (nd.RequestHead.Authorization!=""&&nd.RequestHead.Authorization!=null) SXmlHttp.setRequestHeader("Authorization",nd.RequestHead.Authorization);115
if (nd.RequestHead.CacheControl!=""&&nd.RequestHead.CacheControl!=null) SXmlHttp.setRequestHeader("Cache-Control",nd.RequestHead.CacheControl);116
if (nd.RequestHead.Expect!=""&&nd.RequestHead.Expect!=null) SXmlHttp.setRequestHeader("Expect",nd.RequestHead.Expect);117
if (nd.RequestHead.From!=""&&nd.RequestHead.From!=null) SXmlHttp.setRequestHeader("From",nd.RequestHead.From);118
if (nd.RequestHead.Host!=""&&nd.RequestHead.Host!=null) SXmlHttp.setRequestHeader("Host",nd.RequestHead.Host);119
if (nd.RequestHead.IfMatch!=""&&nd.RequestHead.IfMatch!=null) SXmlHttp.setRequestHeader("If-Match",nd.RequestHead.IfMatch);120
if (nd.RequestHead.IfModifiedSince!=""&&nd.RequestHead.IfModifiedSince!=null) SXmlHttp.setRequestHeader("If-Modified-Since",nd.RequestHead.IfModifiedSince);121
if (nd.RequestHead.IfNoneMatch!=""&&nd.RequestHead.IfNoneMatch!=null) SXmlHttp.setRequestHeader("If-None-Match",nd.RequestHead.IfNoneMatch);122
if (nd.RequestHead.IfRange!=""&&nd.RequestHead.IfRange!=null) SXmlHttp.setRequestHeader("If-Range",nd.RequestHead.IfRange);123
if (nd.RequestHead.IfUnmodifiedSince!=""&&nd.RequestHead.IfUnmodifiedSince!=null) SXmlHttp.setRequestHeader("If-Unmodified-Since",nd.RequestHead.IfUnmodifiedSince);124
if (nd.RequestHead.MaxForwards!=""&&nd.RequestHead.MaxForwards!=null) SXmlHttp.setRequestHeader("Max-Forwards",nd.RequestHead.MaxForwards);125
if (nd.RequestHead.ProxyAuthorization!=""&&nd.RequestHead.ProxyAuthorization!=null) SXmlHttp.setRequestHeader("Proxy-Authorization",nd.RequestHead.ProxyAuthorization);126
if (nd.RequestHead.Range!=""&&nd.RequestHead.Range!=null) SXmlHttp.setRequestHeader("Range",nd.RequestHead.Range);127
if (nd.RequestHead.Referer!=""&&nd.RequestHead.Referer!=null) SXmlHttp.setRequestHeader("Referer",nd.RequestHead.Referer);128
if (nd.RequestHead.TE!=""&&nd.RequestHead.TE!=null) SXmlHttp.setRequestHeader("TE",nd.RequestHead.TE);129
if (nd.RequestHead.UserAgent!=""&&nd.RequestHead.UserAgent!=null) SXmlHttp.setRequestHeader("User-Agent",nd.RequestHead.UserAgent);130
if (nd.RequestHead.Pragma!=""&&nd.RequestHead.Pragma!=null) SXmlHttp.setRequestHeader("Pragma",nd.RequestHead.Pragma);131
if (nd.RequestHead.Connection!=""&&nd.RequestHead.Connection!=null) SXmlHttp.setRequestHeader("Connection",nd.RequestHead.Connection);132
if (nd.RequestHead.ContentLength!=""&&nd.RequestHead.ContentLength!=null) SXmlHttp.setRequestHeader("Content-Length",nd.RequestHead.ContentLength);133
if (nd.RequestHead.Cookie!=""&&nd.RequestHead.Cookie!=null) SXmlHttp.setRequestHeader("Cookie",nd.RequestHead.Cookie);134

135
switch(Method)136
{137
case "GET":138
{139
try140
{141
SXmlHttp.send("");142
}143
catch(Exception ex)144
{145
return ex.Message.ToString();146
}147
finally{}148
break;149
}150
case "POST":151
{152
try153
{154
SXmlHttp.setRequestHeader("Content-Length",nd.RequestHead.SendData.Length.ToString ());155
SXmlHttp.send(nd.RequestHead.SendData);156
}157
catch(Exception ex)158
{159
return ex.Message.ToString();160
}161
finally{}162
break;163
}164
165
}166
nd.ResponseHead.StatusCode=SXmlHttp.status.ToString();167
g_AllResponseHeaders = SXmlHttp.getAllResponseHeaders();168
nd.ResponseHead.AllHeaders=g_AllResponseHeaders;169
//处理返回的数据头170
if (g_AllResponseHeaders.IndexOf("Allow")>0) nd.ResponseHead.Allow=SXmlHttp.getResponseHeader("Allow");171
if (g_AllResponseHeaders.IndexOf("Date")>0) nd.ResponseHead.Date=Convert.ToDateTime(SXmlHttp.getResponseHeader("Date"));172
if (g_AllResponseHeaders.IndexOf("Content-Encoding")>0) nd.ResponseHead.ContentEncoding=SXmlHttp.getResponseHeader("Content-Encoding");173
if (g_AllResponseHeaders.IndexOf("Content-Language")>0) nd.ResponseHead.ContentLanguage=SXmlHttp.getResponseHeader("Content-Language");174
if (g_AllResponseHeaders.IndexOf("Content-Length")>0) nd.ResponseHead.ContentLength=SXmlHttp.getResponseHeader("Content-Length");175
if (g_AllResponseHeaders.IndexOf("Content-Location")>0) nd.ResponseHead.ContentLocation=SXmlHttp.getResponseHeader("Content-Location");176
if (g_AllResponseHeaders.IndexOf("Content-MD5")>0) nd.ResponseHead.ContentMD5=SXmlHttp.getResponseHeader("Content-MD5");177
if (g_AllResponseHeaders.IndexOf("Content-Range")>0) nd.ResponseHead.ContentRange=SXmlHttp.getResponseHeader("Content-Range");178
if (g_AllResponseHeaders.IndexOf("Content-Type")>0) nd.ResponseHead.ContentType=SXmlHttp.getResponseHeader("Content-Type");179
if (g_AllResponseHeaders.IndexOf("Last-Modified")>0) nd.ResponseHead.LastModified=SXmlHttp.getResponseHeader("Last-Modified");180
if (g_AllResponseHeaders.IndexOf("Expires")>0) nd.ResponseHead.Expires=SXmlHttp.getResponseHeader("Expires");181
if (g_AllResponseHeaders.IndexOf("Accept-Ranges")>0) nd.ResponseHead.AcceptRanges=SXmlHttp.getResponseHeader("Accept-Ranges");182
if (g_AllResponseHeaders.IndexOf("Age")>0) nd.ResponseHead.Age=SXmlHttp.getResponseHeader("Age");183
if (g_AllResponseHeaders.IndexOf("ETag")>0) nd.ResponseHead.ETag=SXmlHttp.getResponseHeader("ETag");184
if (g_AllResponseHeaders.IndexOf("Location")>0) nd.ResponseHead.Location=SXmlHttp.getResponseHeader("Location");185
if (g_AllResponseHeaders.IndexOf("Proxy-Authenticate")>0) nd.ResponseHead.ProxyAuthenticate=SXmlHttp.getResponseHeader("Proxy-Authenticate");186
if (g_AllResponseHeaders.IndexOf("Retry-After")>0) nd.ResponseHead.RetryAfter=SXmlHttp.getResponseHeader("Retry-After");187
if (g_AllResponseHeaders.IndexOf("Server")>0) nd.ResponseHead.Server=SXmlHttp.getResponseHeader("Server");188
if (g_AllResponseHeaders.IndexOf("Vary")>0) nd.ResponseHead.Vary=SXmlHttp.getResponseHeader("Vary");189
if (g_AllResponseHeaders.IndexOf("WWW-Authenticate")>0) nd.ResponseHead.WWWAuthenticate=SXmlHttp.getResponseHeader("WWW-Authenticate");190
if (g_AllResponseHeaders.IndexOf("Pragma")>0) nd.ResponseHead.RetryAfter=SXmlHttp.getResponseHeader("Retry-After");191
if (g_AllResponseHeaders.IndexOf("Connection")>0) nd.ResponseHead.Connection=SXmlHttp.getResponseHeader("Connection");192
if (g_AllResponseHeaders.IndexOf("Set-Cookie")>0) nd.ResponseHead.SetCookie=SXmlHttp.getResponseHeader("Set-Cookie");193
if (g_AllResponseHeaders.IndexOf("Retry-After")>0) nd.ResponseHead.RetryAfter=SXmlHttp.getResponseHeader("Retry-After");194
if (g_AllResponseHeaders.IndexOf("Retry-After")>0) nd.ResponseHead.RetryAfter=SXmlHttp.getResponseHeader("Retry-After");195
//取得字符集,不进行此项操作可能出现乱码196
string charset="gb2312";197
if (nd.ResponseHead.ContentType.ToString().IndexOf("utf-8")>0){charset="utf-8";}198
result=BYTE2STR((byte[])SXmlHttp.responseBody,charset);199
nd.ResponseHead.GetData=result;200
SXmlHttp=null;201
return result;202
}203
private string BYTE2STR(byte[] vIn,string charset)204
{205
// int ThisCharCode,NextCharCode,HZCode;206
// string strReturn="";207
// for (int i = 1; i <= vIn.Length ; i++) 208
// { 209
// ThisCharCode =Convert.ToInt32(vIn[i]); 210
// if (ThisCharCode < 128) 211
// { 212
// strReturn = strReturn +Convert.ToChar(ThisCharCode); 213
// } 214
// else 215
// { 216
// NextCharCode =vIn[i+1]; 217
// HZCode=ThisCharCode * 256 +NextCharCode;218
// strReturn = strReturn + Convert.ToChar(HZCode); 219
// i = i + 1; 220
// } 221
// } 222
// return strReturn;223
try224
{ 225
return System.Text.Encoding.GetEncoding(charset).GetString(vIn).ToString();226
}227
catch(Exception ex){return ex.Message;}228
}229
230
}231
}


浙公网安备 33010602011771号