12,162
社区成员
发帖
与我相关
我的任务
分享
/// <summary>
/// DingWebService 的摘要说明
/// </summary>
[WebService(Namespace = "http://tempuri.org/")]
[WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]
[System.ComponentModel.ToolboxItem(false)]
// 若要允许使用 ASP.NET AJAX 从脚本中调用此 Web 服务,请取消注释以下行。
// [System.Web.Script.Services.ScriptService]
public class DingWebService : System.Web.Services.WebService
{
[WebMethod]
public string HelloWorld()
{
return "Hello World";
}
[WebMethod]
public string GetDingPost()
{
//if ("POST" == context.Request.RequestType)
if (HttpContext.Current.Request.HttpMethod.ToUpper() == "POST")
{
Stream sm = HttpContext.Current.Request.InputStream;//获取post正文
int len = (int)sm.Length;//post数据长度
byte[] inputByts = new byte[len];//字节数据,用于存储post数据
sm.Read(inputByts, 0, len);//将post数据写入byte数组中
sm.Close();//关闭IO流
//**********下面是把字节数组类型转换成字符串**********
string data = Encoding.UTF8.GetString(inputByts);//转为String
//data = data.Replace("{\"encrypt\":\"", "").Replace("\"}", "");
FileStream fs = new FileStream("E:\\GetDingPost1.txt", FileMode.Append);
StreamWriter sw = new StreamWriter(fs);
if (data != null)
{
sw.Write("\r\n" + DateTime.Now.ToString() + ":" + data.ToString());
}
else
{
sw.Write("\r\n" + DateTime.Now.ToString() + ":" + "空");
}
//清空缓冲区、关闭流
sw.Flush();
sw.Close();
fs.Close();
return data;
//return "GetDingPost()";
}
return "get方法";
}
}
private void button1_Click(object sender, EventArgs e)
{
string _url = "http://192.168.1.189:2020/DingWebService.asmx/GetDingPost";
//json参数
string jsonParam = "{ EventType:\"check_url\"}";
var request = (HttpWebRequest)WebRequest.Create(_url);
request.Method = "POST";
request.ContentType = "application/json;charset=UTF-8";
request.Accept = "application/json";
byte[] byteData = Encoding.UTF8.GetBytes(jsonParam);
int length = byteData.Length;
//request.ContentLength = length;
Stream writer = request.GetRequestStream();
writer.Write(byteData, 0, length);
writer.Close();
//var response = (HttpWebResponse)request.GetResponse();
//var responseString = new StreamReader(response.GetResponseStream(), Encoding.GetEncoding("utf-8")).ReadToEnd();
//MessageBox.Show(responseString.ToString());
}
string _url = "http://192.168.1.189:2020/DingWebService.asmx/GetDingPost";
Encoding myEncoding = Encoding.GetEncoding("UTF-8"); //选择编码字符集
string data = "{ EventType:\"check_url\"}";
byte[] bytesToPost = System.Text.Encoding.Default.GetBytes(data); //转换为bytes数据
string responseResult = String.Empty;
HttpWebRequest req = (HttpWebRequest)
HttpWebRequest.Create(_url); //创建一个有效的httprequest请求,地址和端口和指定路径必须要和网页系统工程师确认正确,不然一直通讯不成功
req.Method = "POST";
req.ContentType = "application/x-www-form-urlencoded;charset=UTF-8";
//req.ContentType = "application/json;charset=UTF-8";