通过 HttpPost请求WebService接口

        请求WebService接口可以直接引用服务,但是不能直接引用的怎么办呢?我们还可以通过Post请求,那么通过Post怎么样请求呢?

        下面代码用于演示,比较简单便于理解:

private stringReadFile(object value)
{
     try
     {
         string Url = "http://143.35.232.74:8010/FileWebService.asmx";
         string method = "PostGetFileJson";//方法名
         string postData = "fildID=" + LastID.ToString();//请求参数
         ASCIIEncoding encoding = new ASCIIEncoding();
         byte[] dataArray = Encoding.UTF8.GetBytes(postData);//设置编码规格
         HttpWebRequest request2 = (HttpWebRequest)WebRequest.Create(Url + "/" + method);//创建Web请求
         request2.Method = "Post";
         request2.ContentType = "application/x-www-form-urlencoded";
         request2.ContentLength = dataArray.Length;

         Stream Writer = request2.GetRequestStream();//获取用于写入请求数据的Stream对象
         Writer.Write(dataArray, 0, dataArray.Length);//把参数数据写入请求数据流
         Writer.Close();

         //传过来为XML用以下方法解析
         HttpWebResponse response2 = (HttpWebResponse)request2.GetResponse();//获得相应
         Stream stream2 = response2.GetResponseStream();//获取响应流
         XmlTextReader Reader2 = new XmlTextReader(stream2);
         Reader2.MoveToContent();
         string result2 = Reader2.ReadInnerXml();
       stream2.Close();
          //传过来为json格式用以下方法解析
          HttpWebResponse response2 = (HttpWebResponse)request2.GetResponse();//获得相应
          StreamReader stream2 = new StreamReader(response2.GetResponseStream(), Encoding.UTF8);//获取响应流
          string result2 = stream2.ReadToEnd();
          stream2.Close();

    }
    catch(Exception e)
    {
         Logs.WriteTxTLogs("ReadFile()错误信息:" + e);
    }
}
        上面代码都有注释,其实只有三部分创建请求、请求写入流、获得相应。这种方式读取的结果是一个返回的字符串。


评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值