| 

.NET C# Java Javascript Exception

2
Mit der Unterstützung von Curl möchte ich einen POST Request an eine URL, die der folgenden ähnelt, schicken:
http://www.test.de/lang/de/content.html?Session=11111111111111#test

Der Request lässt sich ohne Probleme abschicken, jedoch wird mir von der Empfängerseite ein 500 Fehler zurück gemeldet.

Auf der Suche nach der Ursache bin ich in den Debug informationen auf die Postzeile gestoßen

> POST /lang/de/content.html?Session=11111111111111 HTTP/1.1


Da hier die Information #test fehlt, kommt es meines Erachtens zu dem 500er Fehler. Hat jemand eine Idee wie ich das Problem lösen kann?
16.03.2012
FX 437 1 9
3 Antworten
2
Hi FX,

Alles, was hinter der Raute steht, kommt beim Server überhaupt nicht an.
Übertragen wird lediglich der Teil davor, die Informationen hinter der Raute bleiben quasi im Browser zurück.
Der wertet den Teil hinter der Raute erst aus, wenn die Antwort vom Server zurückkommt, und springt, falls es eine entsprechende Sprungmarke gibt, zum Anker mit dem Namen "test".

Die Chance ist groß, dass die Informationen hinter der Raute in diesem Fall nicht genutzt werden für eine Sprungmarke, sondern zur Auswertung via Javascript - das ist allerdings nur vermutet. falls dem so ist, kommst du an die Entsprechenden Informationen womöglich gar nicht dran, weil CURL dir das JS nicht auswerte. Dann wäre wohl eine API nötig.

Sollte es sich dennoch um eine echte Spungmarke handeln, könntest du selbst nach dem betreffenden Inhalt parsen. Der betreffende content stünde dann irgendwo in der Nähe von:

<a name="test" />


Grüße
huckepick
16.03.2012
huckepick 887 2 8
1
Kann es vielleicht daran liegen, dass die Raute url-encoded übertragen werden muss?
16.03.2012
johny7 471 1 8
1
Das %23 wird nicht korrekt zurück codiert und wird als Session zugehörigkeit interpretiert.

Das Problem mit dem 500er konnte ich durch die Curl Option CURLOPT_FOLLOWLOCATION => True lösen, aber meine Daten kommen leider immer noch nicht korrekt an.
FX 16.03.2012

Stelle deine Php-Frage jetzt!