注意,這個方法僅僅適用於:該post頁面處於websercive 站點下,或者是與webservice同屬於一個主站點,即在iis里屬於同一主站點的同級虛擬目錄。
protected void btnSynData_Click(object sender, EventArgs e) { string wsUrl = "http://127.0.0.1:1113/yingxiao/clfbxd.asmx/huixie"; //注意:huixie 是webservice的方法名 string postData = "我是誰"; HttpConnectToServer(wsUrl, postData); } /// <summary> /// 發送消息到ws服務器 /// </summary> /// <param name="ServerPage"></param> /// <param name="strXml"></param> /// <returns></returns> public string HttpConnectToServer(string ServerPage, string strXml) { string postData = "strXml=" + strXml; byte[] dataArray = Encoding.Default.GetBytes(postData); //創建請求 HttpWebRequest request = (HttpWebRequest)HttpWebRequest.Create(ServerPage); request.Credentials = CredentialCache.DefaultCredentials; request.CookieContainer = new CookieContainer(); request.Method = "POST"; request.ContentLength = dataArray.Length; request.ContentType = "application/x-www-form-urlencoded"; //創建輸入流 Stream dataStream = null; try { dataStream = request.GetRequestStream(); } catch (Exception) { return null;//連接服務器失敗 } //發送請求 dataStream.Write(dataArray, 0, dataArray.Length); dataStream.Close(); //讀取返回消息 string res = string.Empty; try { HttpWebResponse response = (HttpWebResponse)request.GetResponse(); StreamReader reader = new StreamReader(response.GetResponseStream(), Encoding.UTF8); res = reader.ReadToEnd(); reader.Close(); } catch (Exception ex) { throw new Exception(ex.Message); } return res; }
參考:http://www.jb51.net/article/34589.htm