webForumDet fria alternativet

[ASP.NET 2.0] Posta till URL

.NETur .NET

8 svar · 629 visningar · startad av aleborg

aleborgMedlem sedan jan. 20013 341 inlägg
#1

Hur kan man via C# 2.0 göra en POST till en annan URL från code behind?
Någon som har koll i sommarvärmen?

SebbeJMedlem sedan dec. 200471 inlägg
aleborgMedlem sedan jan. 20013 341 inlägg
#3

Det är tyvärr inte från code behind :/
För att specificera, en användare skriver t ex in sin e-postadress och tillhörande lösenord, i code behind gör vi en koll på vilken e-postserver som används för domänen och gör en POST mot rätt webbmail för att logga in kunden på rätt webbmail.

SebbeJMedlem sedan dec. 200471 inlägg
#4

Varför kan ni inte sätta PostBackUrl på en button från code-behind då?

EDIT: Att jag inte tänkte på problematiken med detta före jag postade...

aleborgMedlem sedan jan. 20013 341 inlägg
#5
			try
			{
				ASCIIEncoding encoding = new ASCIIEncoding();
				data = encoding.GetBytes(form_post_data);
				HttpWebRequest myRequest = (HttpWebRequest)WebRequest.Create(url_to_be_posted);
				myRequest.Method = "POST";

				myRequest.KeepAlive = true;
				myRequest.ContentType = "application/x-www-form-urlencoded";
				myRequest.ContentLength = data.Length;
				Stream newStream;
				newStream = myRequest.GetRequestStream();
				newStream.Write(data, 0, data.Length);
				newStream.Close();

				HttpWebResponse objResponse;
				objResponse = (HttpWebResponse)myRequest.GetResponse();
				string redir = objResponse.ResponseUri.AbsoluteUri;
				objResponse.Close();
				Response.Redirect(redir);
			}
			catch (Exception ex)
			{
				// Error handling code 
				Response.Write("Exception " + ex.ToString());
			}
CatZMedlem sedan jan. 20022 440 inlägg
#6

Lite nyfiken på vad du har för använding av detta?

@ndersMedlem sedan juni 200032 969 inlägg
#7

CatZ skrev:

Lite nyfiken på vad du har för använding av detta?

Hmm...

http://www.webforum.nu/showthread.php?p=1215868#post1215868

aleborgMedlem sedan jan. 20013 341 inlägg
#8

Men tyvärr funkar det inte mot PHP-sidor :/
Har testat med en enkel php-sida som har följande kod: <?=print_r($_POST['u']);?>

emissionMedlem sedan dec. 19996 721 inlägg
#9

Huruvida det är PHP eller inte kan inte spela någon roll. Däremot är ditt kodexempel knappast tillämpligt i särskilt många inloggningsfall (men kanske i ditt), eftersom WebRequest-inloggnigen är i en annan session än användarens.

Den enkla lösningen blir att din sida får skapa ett formulär med hiddenfält som det direkt postar till rätt server, mha javascript.

131 ms totalt · 3 externa anrop · v20260731065814-full.29ac60f6
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
129 ms — hämta tråd, inlägg och bilagor (db)