日期:2014-05-17 浏览次数:20678 次
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;
}
}
}