C# HttpWebRequest提交post请求

来源:互联网 发布:网络销售和传统销售 编辑:程序博客网 时间:2024/05/03 12:15
asmx代码
C# code
?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
<%@ WebService Language="C#" Class="Service1" %>
 
using System;
using System.Web;
using System.Web.Services;
using System.Web.Services.Protocols;
 
[WebService(Namespace = "http://tempuri.org/")]
[WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]
//若要允许使用 ASP.NET AJAX 从脚本中调用此 Web 服务,请取消对下行的注释。 
// [System.Web.Script.Services.ScriptService]
public class Service1  : System.Web.Services.WebService {
 
    [WebMethod]
  public string doSearch(String p1,String p2,String p3)
  {
        return "Hello World" + p1 + p2 + p3;
    }    
}


winform代码
C# code
?
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
    private void button1_Click(object sender, EventArgs e)
    {
      string strURL = "http://localhost:2852/WebSite1/Service1.asmx/doSearch";
      System.Net.HttpWebRequest request;
      request = (System.Net.HttpWebRequest)HttpWebRequest.Create(strURL);
      //Post请求方式
      request.Method = "POST";
      // 内容类型
      request.ContentType = "application/x-www-form-urlencoded";
  
      //这是原始代码:
      string paraUrlCoded = "p1=x&p2=y&p3=测试的中文";
      byte[] payload;
      //将URL编码后的字符串转化为字节
      payload = System.Text.Encoding.UTF8.GetBytes(paraUrlCoded);
      //设置请求的 ContentLength 
      request.ContentLength = payload.Length;
      //获得请 求流
      Stream writer = request.GetRequestStream();
      //将请求参数写入流
      writer.Write(payload, 0, payload.Length);
      // 关闭请求流
      writer.Close();
      System.Net.HttpWebResponse response;
      // 获得响应流
      response = (System.Net.HttpWebResponse)request.GetResponse();
      System.IO.Stream s;
      s = response.GetResponseStream();
      XmlDocument d = new XmlDocument();
      d.Load(s);
      MessageBox.Show(d.DocumentElement.InnerText);
 
    }
0 0
原创粉丝点击