日期:2014-05-17 浏览次数:20515 次
using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.Web.UI; using System.Web.UI.WebControls; using System.Web.UI.HtmlControls; using System.Net; using System.Text; using System.IO; namespace MyOpenIdRP { public partial class Login : System.Web.UI.Page { protected void Page_Load(object sender, EventArgs e) { WebRequest requ = WebRequest.Create("https://www.myopenid.com/server"); requ.Method = "POST"; requ.ContentType = "application/x-www-form-urlencoded"; StringBuilder builder = new StringBuilder(); //HtmlForm f = new HtmlForm(); //f.ID = "finalForm"; //f.Method = "POST"; //f.Action = "https://www.myopenid.com/server"; //f.EnableViewState = false; // f.Controls.Add(ProvideHiddenInput("openid.mode","check_authenticate")); Response.Write("==============================================Query String Start=======================<br/>"); foreach(string str in Request.QueryString.AllKeys) { Response.Write(string.Format("[{0}]: {1} <br/>",str,Request.QueryString[str])); if (str == "openid.mode") { //f.Controls.Add(ProvideHiddenInput(str, "check_authentication")); builder.AppendFormat("{0}={1}", str, "check_authentication"); builder.Append('&'); } else { //f.Controls.Add(ProvideHiddenInput(str, Request.QueryString[str])); builder.AppendFormat("{0}={1}", str, Request.QueryString[str]); builder.Append('&'); } } Response.Write("==============================================Query String Ended=======================<br/>"); Response.Write("<br/><br/>"); Response.Write("==============================================Params Start=======================<br/>"); foreach (string str in Request.Params.AllKeys) { Response.Write(string.Format("[{0}]: {1} <br/>", str, Request.Params[str])); } byte[] formData = Encoding.UTF8.GetBytes(builder.ToString()); requ.GetRequestStream().Write(formData,0,formData.Length); WebResponse resp = requ.GetResponse(); StreamReader reader = new StreamReader(resp.GetResponseStream()); Response.Write("====================================authenticate result========================<br/>"); Response.Write(reader.ReadToEnd().Contains("is_valid:true")); } private HtmlInputHidden ProvideHiddenInput(string idname,string value) { HtmlInputHidden hidden = new HtmlInputHidden(); hidden.ID = idname; hidden.Attributes.Add("value", value); return hidden; } } }