public
string
StartPing(
string
pingURL)
//改为一个传参数URL
{
StreamReader sr =
null
;
StringBuilder sb =
new
StringBuilder();
string
strOutput =
string
.Empty;
string
strXML =
string
.Empty;
try
{
//HttpUtility.HtmlEncode
strXML = BuildXML();
int
len = strXML.Length;
ASCIIEncoding ascii =
new
ASCIIEncoding();
HttpWebRequest webReq = (HttpWebRequest)WebRequest.Create(pingURL);
webReq.Method =
"POST"
;
webReq.Timeout = 3000;
//超时为3秒
webReq.ContentType =
"text/xml"
;
//string contenttype = "application/x-www-form-urlencoded";//更网站该方法支持的类型要一致
webReq.Credentials = CredentialCache.DefaultNetworkCredentials;
webReq.ContentLength = len;
Stream streamRequest = webReq.GetRequestStream();
byte
[] bt = ascii.GetBytes(strXML);
streamRequest.Write(bt, 0, len);
HttpWebResponse webRes = (HttpWebResponse)webReq.GetResponse();
sr =
new
StreamReader(webRes.GetResponseStream(), Encoding.ASCII);
string
ret = sr.ReadToEnd();
sb.AppendLine(
"\n"
);
sb.AppendLine(ret);
if
(ret.IndexOf(
"<boolean>0</boolean>"
) >= 0)
{
sb.AppendLine(
"\n\t 服务提交成功!"
);
}
else
if
(ret.IndexOf(
"<boolean>1</boolean>"
) >= 0)
{
sb.AppendLine(
"\n\t 服务提交失败!"
);
}
if
(sr !=
null
)
{
sr.Close();
}
}
catch
(Exception ex)
{
sb.AppendLine(ex.Message);
sb.AppendLine(ex.StackTrace);
}
finally
{
strOutput = sb.ToString();
if
(sr !=
null
)
{
sr.Dispose();
}
}
return
strOutput;
}
private
string
BuildXML()
{
System.Text.StringBuilder sb =
new
System.Text.StringBuilder();
sb.Append(
"<?xml version=\"1.0\"?>"
);
sb.Append(
"<params>"
);
sb.AppendFormat(
"<title>{0}"
,
"公告标题"
);
sb.Append(
"</title>"
);
sb.AppendFormat(
"<content>{0}"
,
"公告内容,base64加密的"
);
sb.Append(
"</content>"
);
sb.Append(
"<verify=be10c510b5f4f082dbd4268820cde895>"
);
sb.Append(
"</params>"
);
return
sb.ToString();
}
|
下面是服务器端接收请求方法:
加载事件里:
//对应方法StartPing
byte
[] byts =
new
byte
[Request.InputStream.Length];
Request.InputStream.Read(byts, 0, byts.Length);
string
req = System.Text.Encoding.Default.GetString(byts);
req = Server.UrlDecode(req);
//下面是接收到的内容
//<?xml version="1.0"?><params><title>????</title><content>?????base64???</content><verify=be10c510b5f4f082dbd4268820cde895></params>
*/
|