[C#] HttpWebRequest POST multipart [Hilfe]

03/30/2014 22:43 EqoTime#1
kann geclosed werden,

gelöst.
03/30/2014 22:52 'Heaven.#2
Was genau funktioniert denn nicht bzw. welche Fehlermeldung gibt die Seite denn zurück?

So wie ich das entnehmen kann, updatest du den "authenticity_token" nicht. Eventuell liegt es daran.
Ansonsten schau mal, ob er eventuell beim ersten Seitenaufruf irgendwelche Cookies setzt, die bei dir nicht vorhanden sind
03/30/2014 22:56 EqoTime#3
Also da erscheint keine fehlermeldung hab mal den breakpoint auf das ergebnis gesetzt da wird die ask.fm startseite angezeigt also der quellcode.

Ich schau mal morgen nach wo der authenticity_token entnommen wird.
Danke nochmals
03/30/2014 23:00 'Heaven.#4
Der sollte der auf der Registrationsseite zu finden sein. Du musst dann so vorgehen:

1. Request -> Registrationsseite
2. Token aus dem Quelltext parsen
3. Request -> Post mit token

Eventuell musst du noch andere Headers, wie z.B. den Referer setzen
03/31/2014 08:27 EqoTime#5
Quote:
Originally Posted by Waka Toa View Post
Der sollte der auf der Registrationsseite zu finden sein. Du musst dann so vorgehen:

1. Request -> Registrationsseite
2. Token aus dem Quelltext parsen
3. Request -> Post mit token

Eventuell musst du noch andere Headers, wie z.B. den Referer setzen

Und was muss ich als ContentType
nehmen?
03/31/2014 16:39 Mostey#6
Wozu das Rad neu erfinden?

[Only registered and activated users can see links. Click Here To Register...] - siehe Antwort von "loop".

[Only registered and activated users can see links. Click Here To Register...] noch als Referenz dazu.
03/31/2014 17:33 EqoTime#7
Und was ist mit dem webkitformboundary?
03/31/2014 18:09 Mostey#8
Quote:
Originally Posted by EqoTime View Post
Und was ist mit dem webkitformboundary?
Das interessiert dann nicht mehr, das macht die Library von selbst. Dafür muss nicht das selbe Boundary deiner geposteten Anfrage genutzt werden. Wichtig ist nur, dass das Boundary überall in der Anfrage einheitlich ist, damit (wie die Bezeichnung schon aussagt) differenziert werden kann.
03/31/2014 18:18 EqoTime#9
Quote:
Originally Posted by Mostey View Post
Das interessiert dann nicht mehr, das macht die Library von selbst. Dafür muss nicht das selbe Boundary deiner geposteten Anfrage genutzt werden. Wichtig ist nur, dass das Boundary überall in der Anfrage einheitlich ist, damit (wie die Bezeichnung schon aussagt) differenziert werden kann.

Ok werde es heute abend mal testen danke nochmals. Und hab da noch ne frage, was meinst du mit noch den referenz von http namespace, also das 2. link?

MfG
03/31/2014 18:21 Mostey#10
Quote:
Originally Posted by EqoTime View Post
Ok werde es heute abend mal testen danke nochmals. Und hab da noch ne frage, was meinst du mit noch den referenz von http namespace, also das 2. link?

MfG
Damit du den Namespace kennst. Außerdem ist System.Net.Http kein Standardassembly, das musst du nachinstallieren. (Über NuGet zum Beispiel)
03/31/2014 18:24 EqoTime#11
Quote:
Originally Posted by Mostey View Post
Damit du den Namespace kennst. Außerdem ist System.Net.Http kein Standardassembly, das musst du nachinstallieren. (Über NuGet zum Beispiel)

Ok werde mir das dann mal laden, dachte die ist mit in system.net drine :D


Edit: Mostey komme mit deiner Version nicht klar, verstehe es einfach nicht.

Waka Toe: hab den token gefunden ich lade den durch einen get und speichere es in eine string usw. mit dem gleichen cookiecontainer auch zur sicherheit, klappt aber immernoch nicht. Ich glaube es liegt am Content Type.

Hier ist die Header datei die gesendet wird.

04/03/2014 16:54 EqoTime#12
habe immernoch keine lösung :S

Fehlermeldung beim start:

auf HttpWebResponse response = (HttpWebResponse)webRequest.GetResponse();

wird diese fehlermeldung angezeigt:

Ein Ausnahmefehler des Typs "System.Net.WebException" ist in System.dll aufgetreten.

Zusätzliche Informationen: Der Remoteserver hat einen Fehler zurückgegeben: (500) Interner Serverfehler.
04/03/2014 17:56 Mostey#13
Quote:
Originally Posted by EqoTime View Post
Ok werde mir das dann mal laden, dachte die ist mit in system.net drine :D


Edit: Mostey komme mit deiner Version nicht klar, verstehe es einfach nicht.

Waka Toe: hab den token gefunden ich lade den durch einen get und speichere es in eine string usw. mit dem gleichen cookiecontainer auch zur sicherheit, klappt aber immernoch nicht. Ich glaube es liegt am Content Type.

Hier ist die Header datei die gesendet wird.

Was verstehst du daran nicht? Ich habe dir einen Link mit der idealen Anwendung gegeben, den Code brauchtest du theoretisch nur kopieren und anpassen.


Quote:
Originally Posted by EqoTime View Post
Ein Ausnahmefehler des Typs "System.Net.WebException" ist in System.dll aufgetreten.

Zusätzliche Informationen: Der Remoteserver hat einen Fehler zurückgegeben: (500) Interner Serverfehler.

Quote:
The server failed to fulfill an apparently valid request.[2]
Response status codes beginning with the digit "5" indicate cases in which the server is aware that it has encountered an error or is otherwise incapable of performing the request. Except when responding to a HEAD request, the server should include an entity containing an explanation of the error situation, and indicate whether it is a temporary or permanent condition. Likewise, user agents should display any included entity to the user. These response codes are applicable to any request method.
Quote:
500 Internal Server Error
A generic error message, given when an unexpected condition was encountered and no more specific message is suitable.[2]
List of HTTP status codes - Wikipedia, the free encyclopedia

Ohne zu wissen, was hier passiert oder versucht wird, können wir nicht viel helfen. Du postest ja so gut wie nie irgendwelchen Code.
04/03/2014 18:06 EqoTime#14
ich bekomme bei: HttpWebResponse response = (HttpWebResponse)webRequest.GetResponse();

immer den http 500 fehler.
04/03/2014 23:56 qkuh#15
Dann ist dein request fehlerhaft.