mutmo Geschrieben 23. August 2009 Teilen Geschrieben 23. August 2009 Hallo zusammen, will per http Anfrage mich auf einer Seite einloggen und anschließend eine Datei herunterladen. Wenn ich mich direkt über den Browser anmelde werde ich direkt weitergeleitet zur gewünschten Seite und kann die Datei herunterladen. Mache ich dies über einen Request melde ich mich zwar an (vermute ich), jedoch werde ich irgendwie nicht weitergeleitet. [Request] LOGIN = "ReturnUrl=/login&nickname=NAME&password=PASSWORT" URL = "http://URL/login?ReturnUrl=URL'>http://URL/login?ReturnUrl=URL" REQUEST = "POST " & URL & " HTTP/1.1" & vbCrLf REQUEST = REQUEST & "Accept: text/html" & vbCrLf REQUEST = REQUEST & "Content-length: " & Len(LOGIN) & vbCrLf REQUEST = REQUEST & "Connection: close" & vbCrLf & vbCrLf REQUEST = REQUEST & LOGIN [Response] HTTP/1.1 200 OK Content-Length: 38624 Content-Type: text/html; charset=iso-8859-1 Expires: Sun, 23 Aug 2009 12:15:37 GMT Server: SERVER X-Powered-By: WWW28 URL-info: BuildTime: 23.08.2009 14:45:37; TimeSpan: 00:00:00.1093764; CacheTime: not cached X-AspNet-Version: 2.0.50727 publisher: ANBIETER X-Cache: MISS from accel3.URL,MISS from accel7-2.URL,MISS from accel7-4.URL Date: Sun, 23 Aug 2009 12:45:37 GMT Connection: close Versuche ich nun über eine zweite Anfrage die Datei direkt herunterzuladen ist dies nicht möglich. [Request] URL = "http://URL/ REQUEST = "GET " & URL & " HTTP/1.1" & vbCrLf REQUEST = REQUEST & "Accept: text/html" & vbCrLf REQUEST = REQUEST & "Connection: close" & vbCrLf & vbCrLf [Response] HTTP/1.0 302 Moved Temporarily Date: Sun, 23 Aug 2009 12:57:30 GMT X-Powered-By: WWW44 X-AspNet-Version: 2.0.50727 URL-info: BuildTime: 23.08.2009 14:57:30; TimeSpan: 00:00:00; CacheTime: not cached publisher: ANBIETER Location: http://URL/login?ReturnUrl=URL Expires: Sun, 23 Aug 2009 12:27:30 GMT Content-Type: text/html; charset=iso-8859-1 Content-Length: 232 X-Cache: MISS from accel3.URL X-Cache: MISS from accel4-2.URL X-Cache: MISS from accel4-3.URL Bei Location zeigt er mir wieder die URL an die ich bereits zu beginn aufgerufen habe und ein Response OK zurück kam. Was mich noch iritiert ist das die Angabe bei Expires vor der Zeit des Request ist. Hoffe mir kann diesbezüglich jemand weiterhelfen. Gruß Marc Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
flashpixx Geschrieben 23. August 2009 Teilen Geschrieben 23. August 2009 Was hat Dein Posting mit Webdesign zu tun? Ich verstehe aber das Problem nicht so recht. Wenn Du eine Seite mit Login (per HTTP) aufrufst, dann gibst an der URL Username und Passwort mit und bekommst einen Respons zurück (401 für falschen Login oder 200 für OK). Natürlich können auch andere Respons Codes auftreten (HTTP-Statuscode ? Wikipedia) wie bei Dir der 302. Du musst dann den die Header-Location aufrufen. Aber wie Du dem Wikiartikel sehen kannst, sollte der 302 Reponse nicht verwendet werden. Einen Einfluss was der Server liefert hast Du natürlich nicht Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
mutmo Geschrieben 23. August 2009 Autor Teilen Geschrieben 23. August 2009 Dachte das Leute die sich mit Webdesign auskennen auch viel mit http-Protokollen zu tun haben deswegen hier mein Posting. Mein Problem besteht darin das der Login ja klappt aber ich dann nicht weitergeleitet werde. Und beim zweiten Versuch bin ich irgendwie nicht mehr angemeldet. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
flashpixx Geschrieben 23. August 2009 Teilen Geschrieben 23. August 2009 (bearbeitet) Mein Problem besteht darin das der Login ja klappt aber ich dann nicht weitergeleitet werde. Und beim zweiten Versuch bin ich irgendwie nicht mehr angemeldet. "Geht nicht" ist keine Aussage. Überlege Dir bitte einmal selbst, ob man mit den Informationen, die Du lieferst überhaupt was anfangen kann. Ich hab keine Lust Dir alle Informationen aus der Nase zu ziehen. [edit] Außerdem solltest Du Dir einmal die Kommunikation in Deinem Browser anschauen (Live HTTP headers für Firefox macht es sichtbar). Da HTTP ein zustandloses Protokoll ist, solltest Du Dir einmal überlegen, wie eine Authentifizierung realisiert wird. http://de.wikipedia.org/wiki/Hypertext_Transfer_Protocol http://de.wikipedia.org/wiki/Hypertext_Transfer_Protocol_Secure http://de.wikipedia.org/wiki/HTTP-Authentifizierung Bearbeitet 23. August 2009 von flashpixx edit Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
mutmo Geschrieben 23. August 2009 Autor Teilen Geschrieben 23. August 2009 Danke für deine Mühe jedoch bringt mich das in meinem Fall nich weiter da der Server ja keine Fehlermeldung bezüglich 401 UNAUTHORIZED antwortet. der Login funktioniert, sonst würde ich kein OK zurück bekommen. Nach dem anmelden würde ich gerne direkt weitergeleitet werden zu NEXTURL. LOGIN = "ReturnUrl=/login&nickname=NAME&password=PASSWORT" http://URL/login?ReturnUrl=NEXTURL [Request] REQUEST = "POST " & URL & " HTTP/1.1" & vbCrLf REQUEST = REQUEST & "Accept: text/html" & vbCrLf REQUEST = REQUEST & "Content-length: " & Len(LOGIN) & vbCrLf REQUEST = REQUEST & "Connection: close" & vbCrLf & vbCrLf REQUEST = REQUEST & LOGIN da es mit meinem Header so nicht funktioniert erhoffe ich mir das mir da jemand weiterhelfen kann und mir einen Tipp gibt an was es liegen könnte. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
mutmo Geschrieben 23. August 2009 Autor Teilen Geschrieben 23. August 2009 Danke für den Tipp mit dem AddOn. Ich denke damit werde ich es hinbekommen. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
flashpixx Geschrieben 23. August 2009 Teilen Geschrieben 23. August 2009 Wenn ich Deinen VB(A) Code richtig interpretiere, wobei ich eigentlich erwarte, dass Du es dazu schreibst, um welche Sprache es sich handelt, sendest Du Die Login mit einem GET Parameter, das ist keine HTTP-Authentifizierung ! Außerdem würden die Authentifizierungsdaten bei einer HTTP-Basic-Authentifizierung als Base64 String mit gegeben werden. Du solltest zuerst einmal das Problem so beschreiben, dass man versteht was Du letztendlich gegeben hast und was Du als Ergebnis willst Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
mutmo Geschrieben 24. August 2009 Autor Teilen Geschrieben 24. August 2009 Nun funktioniert es. Beim der ersten Anfrage über die Post-Methode bekomme ich nach dem ich das Login gesendet habe ein [set-Cookie] in der Antwort zurück. Bei der zweiten Anfrage über die Get-Methode sende ich die Werte von [set-Cookie] über die Eigenschaft [Cookie] mit. Somit werde ich direkt im angemeldetem Bereich weitergeleitet. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
xm22 Geschrieben 3. September 2009 Teilen Geschrieben 3. September 2009 Benutz curl. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.