2014-03-13 104 views
0

我在寫一個使用asp.net的web應用程序。我通過一些非公開但可用於服務器端的網絡連接到JSP頁面。我的目標是從我的asp.net頁面(這將是大衆)發佈的數據到JSP頁面(這是私人用戶),然後檢索jsp.page將數據從ASP.net頁面發佈到JSP頁面

protected void Page_Load(object sender, EventArgs e) 
{ 
Page page = HttpContext.Current.Handler as Page; 
String Url = "https://192.168.0.1:1111/aaa/sss/test.jsp"; 
StringBuilder postData = new StringBuilder(); 

postData.Append("a=" + p.Request.Form[0] + "&"); 
postData.Append("b=" + p.Request.Form[1] + "&"); 
postData.Append("c=" + p.Request.Form[2] + "&"); 
postData.Append("d=" + p.Request.Form[3] + "&"); 
postData.Append("e=" + p.Request.Form[4] + "&"); 
postData.Append("f=" + p.Request.Form[5] + "&"); 
postData.Append("g=" + p.Request.Form[6] + "&"); 
postData.Append("h=" + p.Request.Form[7]); 


StreamWriter writer = null; 

HttpWebRequest request = (HttpWebRequest)WebRequest.Create(Url); 
request.Method = "POST"; 
request.ContentType = "text/html"; 
request.ContentLength = postData.ToString().Length; 
try 
{ 
    writer = new StreamWriter(request.GetRequestStream()); 
    writer.Write(postData.ToString()); 
    System.Web.HttpContext.Current.Response.Write(writer.ToString()); 
} 
finally 
{ 
    if (writer != null) 
    writer.Close(); 
} 
} 
+0

你有什麼試過?將其分解爲兩個問題:1)您的ASP.NET應用程序接受來自用戶的輸入。 2)您的服務器端代碼向外部資源發送請求。兩者都是分開的。你可以在.NET中使用類似'HttpClient'的東西來發送請求到外部資源並讀取響應。 – David

+0

#Luiggi門多薩 這是我得到使用你的建議 型「System.Net.WebException」發生在System.dll中的一個例外,但在用戶代碼 其他信息沒有處理Web客戶端:遠程服務器返回錯誤:(404)未找到。 – user3410843

+0

@LuiggiMendoza其實我得到它的工作錯誤是從這行代碼。字符串HtmlResult = wc.UploadString(Url,postData.ToString());頁面已完成其工作,但我沒有收到響應,我的應用程序得到了上述錯誤。當我註釋掉wc.Headers [HttpRequestHeader.ContentType] =「application/x-www-form-urlencoded」; ---這行,,,我沒有得到任何錯誤,但頁面沒有完成它的工作 - – user3410843

回答

0

@LuiggiMendosa的答案,但我檢查結果我明白,頁面已經工作,因爲我說頁面已經完成它的工作只我沒有收到響應和我的應用程序獲取上述錯誤 當我更改HttpRequestHeader.ContentType該頁面沒有做任何事情。

+0

fyi,這應該作爲評論發佈,而不是答案 – Ted

+0

我知道,但我得到這個 - 你必須有50個評論的聲望 - – Rapira

相關問題