Entwickler-Ecke
ASP.NET und Web - C# Html Post auf php
ebber - Do 23.06.11 21:20
Titel: C# Html Post auf php
Hallo,
ich habe ein kleines Problem, ich bin mir nur nicht sicher ob es an C#, oder php liegt, oder ob es überhaupt funktioniert.
Ich wollte aus einem C# Programm per Post Daten zu einer php Seite bringen. Die Daten bzw der string enthält aber auch ein paar Sonderzeichen wie &+...
durch:
C#-Quelltext
1:
| request.ContentType = "application/x-www-form-urlencoded"; |
scheint mir das mit den Sonderzeichen allerdings nicht zu gehen?
Kann ich einen Post auch anders encoden? mit z.B. text/html; charset=utf-8?
Ich habe das versucht, allerdings kam dann nicht mehr im php an. Ich habe nur ein "OK" im C# Programm zurückbekommen.
Noch der Code:
C#-Quelltext
1: 2: 3: 4: 5: 6: 7: 8:
| WebRequest request = WebRequest.Create("http://hhh");
request.Method = "POST"; string postData = "er=" + textBox1.Text + "&es=" + "+&=", ""); byte[] byteArray = Encoding.Default.GetBytes(postData); System.Text.ASCIIEncoding enc = new System.Text.ASCIIEncoding(); request.ContentType = "text/html; charset=utf-8"; request.ContentLength = byteArray.Length; |
MfG
Christian S. - Do 23.06.11 21:44
Hallo!
Also erst einmal: Wenn Du sagst, die Daten wären url-encoded, musst Du sie natürlich auch url-encoden, da gibt es IIRC eine fertige Methode für. Einfach mal googlen:
"C# URLENCODE"
Genau dasselbe beim Codeschnipsel: Wenn Du Daten als UTF-8 ankündigst, musst Du sie auch als UTF8 kodieren - und nicht die Default-Kodierung benutzen!
Grüße,
Christian
ebber - Do 23.06.11 22:03
Macht Sinn. Ich hatte da auch ein bisschen mit rumgespielt. Hat aber damals schon nichts geändert und jetzt beim gezielten probieren irgendwie auch nicht )-:
ebber - Fr 24.06.11 19:08
Ich glaube ich stand vorhin ein wenig auf de Schlauch. Du hast mir natürlich die Lösung verraten :) Danke
Mit der Urlencode Funktion von C# werden alle Sonderzeichen in %xx html Zeichen gewandelt, welche keine Probleme in Urls bereiten.
Bei Base64 strings machen nur + und / Probleme, die man leicht durch - und _ ersetzen kann, und später eben wieder zurück.
MfG
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2025 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!