Anzeige - [Hier werben / Mediadaten]
(?) Tags raten (?) (edit)
 
Reply to this topicStart new topicStart Poll
> Wie lese ich die XML post von MSXML2, Mit PHP?
SwiZZ
Geschrieben am: Di 1.11.2005, 14:19
Report PostQuote Post

AyomRank 5
Group Icon

Gruppe: Experten Entwicklung
Beiträge: 247
Mitglied seit: 8.11.2004


Hallo AyomerInnen,

Ich habe ein kleines Programm mit C# geschrieben, dass einzige was das programm momentan macht ist ein MSXML Post.

CODE
Private Sub btnSendHTTP_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnSendHTTP.Click
       Dim xmlHTTP As New MSXML2.ServerXMLHTTP40
       Dim odoc As New MSXML2.DOMDocument40
       odoc.async = False
       odoc.load("c:\test.xml")
       xmlHTTP.open("POST", "http://127.0.0.1/api.php?type=nothing", False, "", "")
       xmlHTTP.send(odoc)
       MsgBox(xmlHTTP.responseText)

   End Sub


Jetzt wenn ich durch den Proxy sehe was alles läuft, sieht so aus.

CODE
POST  HTTP/1.1
Accept-Language: de-ch
Content-Type: text/xml
Content-Length: 23979
Accept: */*
User-Agent: Mozilla/4.0 (compatible; Win32; WinHttp.WinHttpRequest.5)
Host: 127.0.0.1:81
Connection: Close

Data found after header end:

<xml>XML DATA</xml>


Frage es handlet sich nicht um ein normales Post, so kann ich die XML mit $_POST nicht lesen, wie kann ich das machen? Ich habe unter PHP gesucht für etwa wie HTTP_RAW_DATA damit ich alles inkl. headers kann lesen aber nichts gefunden.

Weiss jemmand von euch wie ich zu die XML stream komme?

Gruss
Steven





--------------------
"I said it was an upgrade. I didn't say it was better."
Top
PMUsers Website
Top
 
 
SwiZZ
#2 Geschrieben am: Di 1.11.2005, 14:57 (+00:38)
Report PostQuote Post

AyomRank 5
Group Icon

Gruppe: Experten Entwicklung
Beiträge: 247
Mitglied seit: 8.11.2004


Ufff gefunden...

echo $GLOBALS["HTTP_RAW_POST_DATA"]

Kennt jemmand andere Weg?


--------------------
"I said it was an upgrade. I didn't say it was better."
Top
PMUsers Website
Top
 
Ansgar Berhorn
TOPdesk Deutschland
#3 Geschrieben am: Di 1.11.2005, 15:12 (+00:14)
Report PostQuote Post

AyomRank 6
Group Icon

Gruppe: Experten Entwicklung (Mod)
Beiträge: 857
Mitglied seit: 8.10.2004


Wie hier jemand im Kommentar schreibt:
http://php.net/en/language.variables.predefined

gibt es noch die Möglichkeit, über $HTTP_RAW_POST_DATA darauf zuzugreifen.


--------------------
Top
PMUsers Website
Top
 
Sascha Ahlers
#4 Geschrieben am: Di 1.11.2005, 15:30 (+00:18)
Report PostQuote Post

AyomRank 8
Group Icon

Gruppe: Experten Entwicklung
Beiträge: 1708
Mitglied seit: 27.12.2004


Hallo,

QUOTE (SwiZZ @ Di 1.11.2005, 14:19)
[...] Weiss jemmand von euch wie ich zu die XML stream komme? [...]

es wäre schön, wenn Du etwas genauer beschreiben könntest, was Du genau machen möchtest.

Ich würde jetzt mal bei XML vermuten, dass dir die XML-RPC [1] Funktionen helfen könnten bzw. die Socket- [2] oder Stream-Funktionen [3].
Vielleicht aber auch die Funktion fsockopen. [4]



MfG Sascha Ahlers


--------------------
Joseph Joubert: "Der Verstand kann uns sagen, was wir unterlassen sollen. - Aber das Herz kann uns sagen, was wir tun müssen."

Sicherheit beim Programmieren: Top 10 application vulnerabilities in 2007
Top
PMEmail PosterUsers WebsiteICQ
Top
 
SwiZZ
#5 Geschrieben am: Di 1.11.2005, 16:18 (+00:47)
Report PostQuote Post

AyomRank 5
Group Icon

Gruppe: Experten Entwicklung
Beiträge: 247
Mitglied seit: 8.11.2004


Hallo Sascha, Ansgar,

Danke für die Tipps.

Das Problem war, dass wenn mann mit XMLHTTP ein Post auf dem Server macht, werden die XML Daten von oDoc (schau mal die code oben) nicht als normales Post gesendet wie ein Formular, sondern es werden nach die HTTP headers hinzufügt, deshalb is die stream kein POST und mann kann sie nicht mit $_POST['xml'] lesen.

Jetzt dass ich die Stream als RAW DATA habe kann ich die Daten bearbeiten mit ein Parser wie XML-RPC, aber die XML ist so unkompliziert dass ich das parsing mit RegExp gelöst habe smile.gif

$xmlDom = $GLOBALS["HTTP_RAW_POST_DATA"];
$chars = preg_split('/<(.*?)>/', $xmlDom, -1, PREG_SPLIT_NO_EMPTY);

Gruss
Steven


--------------------
"I said it was an upgrade. I didn't say it was better."
Top
PMUsers Website
Top
 
Sascha Ahlers
#6 Geschrieben am: Di 1.11.2005, 16:53 (+00:35)
Report PostQuote Post

AyomRank 8
Group Icon

Gruppe: Experten Entwicklung
Beiträge: 1708
Mitglied seit: 27.12.2004


QUOTE (SwiZZ @ Di 1.11.2005, 16:18)
[...] Jetzt dass ich die Stream als RAW DATA  habe kann ich die Daten bearbeiten mit ein Parser wie XML-RPC, aber die XML ist so unkompliziert dass ich das parsing mit RegExp gelöst habe smile.gif [...]

Nun unter PHP 5 ist das verdammt einfach, wenn Du schon die vernüntige XML Daten hat [1], dann würde ich kein RegExp mehr benutzen.
XML-RPC ist auch nicht direkt ein Parser, sondern wie der Namen schon sagt ein RPC [2]. Ich selber empfinde die Verwendung davon als recht einfach, nur weiß ich natürlich nicht, wie dies in C# aussieht. Ich vermute jedoch, dass es dort auch nicht all zu schwer sein sollte. Nur ist Dein Code oben wirklich Visual C# geschrieben? Der Code sieht eher nach Visual Basic.Net aus.



MfG Sascha Ahlers

Bearbeitet von Sascha Ahlers am Di 1.11.2005, 16:56


--------------------
Joseph Joubert: "Der Verstand kann uns sagen, was wir unterlassen sollen. - Aber das Herz kann uns sagen, was wir tun müssen."

Sicherheit beim Programmieren: Top 10 application vulnerabilities in 2007
Top
PMEmail PosterUsers WebsiteICQ
Top
 
SwiZZ
#7 Geschrieben am: Mi 2.11.2005, 07:53 (+15:00)
Report PostQuote Post

AyomRank 5
Group Icon

Gruppe: Experten Entwicklung
Beiträge: 247
Mitglied seit: 8.11.2004


QUOTE
Nur ist Dein Code oben wirklich Visual C# geschrieben? Der Code sieht eher nach Visual Basic.Net aus

smile.gif LOL, die verwechslung war weil ich ein projekt in die solution in c# habe und die andere teil in vb.net.

Gruss
Steven

Danke für die Tipps


--------------------
"I said it was an upgrade. I didn't say it was better."
Top
PMUsers Website
Top
 
Thema wird von 0 Benutzer(n) gelesen (0 Gäste und 0 anonyme Benutzer)
0 Mitglieder:
Trackback-Url: http://www.ayom.com/track/t/8954

Topic Options Reply to this topicStart new topicStart Poll

 


> Ähnliche Themen
Ajax Formularübergabe POST Daniel Cieslar 277 5 Di 4.11.2008, 18:07
Post-it Popup dominikh 266 3 Do 12.06.2008, 13:17
Wie lese ich dieses Captcha aus? Sancheck 623 21 Di 10.06.2008, 19:21
Sicherheitscheck für GET und Post-Variablen... BartTheDevil89 314 8 Mo 11.02.2008, 12:34
Datei per POST senden pl_90 463 8 Di 2.10.2007, 19:22
XML-POST mit fsockopen patrickswelt 377 6 Mo 20.08.2007, 20:00
Deutsche Post, Google Earth - Nischen Yannick 251 3 Sa 11.08.2007, 10:25
.net 2 Post requests hintereinander flirtratgeber 185 1 Mo 2.07.2007, 07:23




Anzeige - [Hier werben / Mediadaten]



Anzeigen


[Hier werben / Mediadaten]