| 

.NET C# Java Javascript Exception

5
Hallo,

mit Live HTTP Headers habe ich ein Request aufgezeichnet, den ich benötige, doch da ist ein seltsamer aufruf im Request, den ich so noch nicht kenne.
JavaScript? Aber was macht das in dem Request?
Kann mir einer sagen was das ist und wie ich das im Code realisieren kann?

Danke im Vorraus... Grüße!

ajax=true&clientAuthenticationKey=&callCount=1&c0-scriptName=null&c0-methodName=GetDownloadUrl&c0-id=4930_1328647701768&c0-param0=number:5038684&c0-param1=number:0&c0-param2=boolean:true&xml=true&extend=function (object) {
for (property in object) {
this[property] = object[property];
}
return this;
}&

Als Antwort sollte ein Download-Link zurück kommen. : )
07.02.2012
DerGerät 41 5
1
Kann mir nur vorstellen das der Erfinder dieses request ein JavaScript eval() auf den Inhalt des Parameter 'extend' ausführt. Allerdings macht es für mich keinen Sinn - Wie daraus ein Downloadlink entstehen soll ist mir schleierhaft. Wir wissen weder was in der funktion object ist, noch wissen wir was this ist. Es wäre vll hilfreich den source code zu haben der diesen Request durchführt. Wir spielen hier ja schließlich kein Lotto ;-)
Nicolai Schönberg 08.02.2012
Bitteschön ;-)
http://pastebin.com/Eh4Pt2z3
DerGerät 08.02.2012
1 Antwort
1
var a = function(object) {
for (property in object) {
this[property] = object[property];
}
return this;
}

//Test:
alert(a); //Öffnet einen Messagebox mit dem Funktioncode, also: "function(object) {...."

//Ajax-Request:
$.ajax({
method:'GET',
action:'target.url'
data:{
'ajax':'true',
'clientAuthenticationKey':'',
....
'extend':a //<-- hier wird der Funktionsquellcode als String eingefügt
},
success:function(html){
alert(html);
}
});


Mit C# geht das ganze über die HttpWebRequest und HttpWebResponse Klassen:

How to use HttpWebRequest and HttpWebResponse in .NET
08.02.2012
Floyd 14,6k 3 9
Floyd 14,6k 3 9
Hier noch weitere Infos die noch von oben gewünscht sind:
http://pastebin.com/Eh4Pt2z3
DerGerät 08.02.2012
Also muss ich ein "ajax-Request" absenden?
DerGerät 08.02.2012
Mit C-Sharp
DerGerät 08.02.2012
1
Achso mit C#, nein dann kannst du die WebRequest Klasse verwenden. Ich poste in kürze ein Beispiel.
Floyd 08.02.2012
Hab mich schon gewundert, da ich alert() aus C# nicht kenne. ;-)
DerGerät 08.02.2012
1
So, hab nen Artikel verlinkt. Den Funktionscode von "extend" musst du einfach als String an die URI mit anhängen, wenn es sich um einen GET-Request handeln sollen. Bei POST-Requests musst du den String dann in den Request-Stream schreiben.

Stream objRequestStream = objWR.GetRequestStream();
objRequestStream.Write(bytPostData, 0, bytPostData.Length);
objRequestStream.Close();
Floyd 08.02.2012
1
Hab aus den Daten die du bei pastbin gepostet hast erlesen, das es sich um einen POST-Request handeln soll. (Nur so zur Info)
Floyd 08.02.2012
Der request stream ist dann:

parm1=value1&parm2=value2&parm3=value3&extend=a

Wie baue ich a zusammen? ;-)

Danke schonmal für die Hilfe!!!
DerGerät 08.02.2012
Die PostDaten ist:

string postData = "parm1=value1&parm2=value2&parm3=value3&extend=function (object) {\nfor \n(property in object) {\nthis[property] = \nobject[property];\n}\nreturn this;\n}"

byte[] bytPostData = Encoding.UTF8.GetBytes(strPostData);
Floyd 08.02.2012
Ah, cool, danke!

Noch was, habe eig. alle Parameter jetzt außer:
c0-id=4930_1328647701768

Muss das im HTML-Text stehn oder kann es auch irgentwo anderst sein? Wenn es nur im HTML-Text sein kann, dann suche ich weiter. ;-)
Bzw. kann es auch auf einer anderen HTML-Seite sein und nicht auf der aktuellen? Bzw. in einem anderen Frame?

Zur Info, ich verwende diese Klasse:
http://www.mycsharp.de/wbb2/thread.php?threadid=72666
DerGerät 08.02.2012
1
Hmm de fakto gibt es mehrere Möglichkeiten wo das stehen kann.

Zum einen im HTML direkt, oder wenn mit Frames gearbeitet wird auch in einem Frame.
Außerdem gibts die Möglichkeit das die ID über JavaScript durchgereicht oder berechnet, per Ajax nachgeladen, aus nem Cookie oder dem LocalStorage ausgelesen wird. Auch HTTP-Header-Variablen kommen in Frage. Ohne die Seite zu kennen kann ich keine konkrete aussage dazu treffen.
Floyd 08.02.2012
Könntest du dich in Skype einloggen, dann schick ich dir die Seite, will das hier nicht öffentlich machen. ;-)
DerGerät 08.02.2012
1
Bin derzeit auf Arbeit. Könnte dir heute Abend helfen wenn du willst. ICQ: 141381306, Skype: Floyddotnet
Floyd 08.02.2012
Hört sich gut an, bin ebenfalls bei der Arbeit... hab dich schon in Skype, wir kennen uns. ;-)

Bis heut abend... und danke nochmal!!
DerGerät 08.02.2012

Stelle deine .net-Frage jetzt!
TOP TECHNOLOGIES CONSULTING GmbH