AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

MSN -> TWEENER

Ein Thema von Tommy · begonnen am 14. Jun 2006 · letzter Beitrag vom 15. Jun 2006
Antwort Antwort
Seite 1 von 2  1 2      
Tommy

Registriert seit: 14. Jun 2006
Ort: chemnitz
20 Beiträge
 
#1

MSN -> TWEENER

  Alt 14. Jun 2006, 19:38
zu erst das:
Ich nutze C++ (bcb 5), deshalb kann es sein, dass ich ein paar Synthaxfehler drinne habe, weil ich es nur jz kurz auf Delphi umändere - weil es ja ca. 0 C++ Foren gibt, wo man auch ma innerhalb von nen paar Jahren ne Antwort erhält...

ZUM eigtl Thema:
zwar ist das nicht der erste Schritt der Anmeldung @msn, aber der einzig interessante für mich, weil der Rest geht:

"Once you have done this you should open a connection with nexus.passport.com, on port 443. [...] After the connection has been established you should send a simple GET request to the server."
--> "GET /rdr/pprdr.asp HTTP/1.0\r\n\r\n"

so - jz gibt es ja verschiedene Möglichkeiten, das anzustellen:

1. (mit Indy Komponente "TCPClient", verlinkt unter Intercept mit "IdConnectionInterceptOpenSSL1")
Delphi-Quellcode:
   IdTCPClient1.Host := 'nexus.passport.com';
   IdTCPClient1.Port := 443;
   IdTCPClient1.Connect();
der Code des OnConnect-Events
 IdTCPClient1.Write('GET /rdr/pprdr.asp HTTP/1.0\r\n\r\n'); der Code des OnWork-Events
AWorkMode: wmRead oder wmWrite - erklären brauch ich das nicht ^^
AWorkCount: int, entspricht der Menge der Empfangenen Bytes
Delphi-Quellcode:
 if(AWorkMode = wmRead)
  {
  char *receive = new char[AWorkCount];
  IdTCPClient1->ReadBuffer(receive,AWorkCount);
  }
hier hab ich das Problem, dass es nicht mal in das OnWork-Event springt - warum weiß ich nicht... :/
<hr>
2.1 (mit Indy Komponente "HTTP")
hier die einfachere Methode
Delphi-Quellcode:
   IDHTTP1.Host := 'nexus.passport.com';
   IDHTTP1.Port := 443;
   IDHTTP1.Get('https://nexus.passport.com/rdr/pprdr.asp');
OnWork:
Delphi-Quellcode:
   if(AWorkMode = wmRead)
    {
    char *receive = new char[AWorkCount];
    IDHTTP1->ReadBuffer(receive,AWorkCount);
{sry für C++ - Synthax - er erstellt nen Buffer und lässt den halt füllen...}

    }
jetzt springt er einmal in das Event, aber hat dort sensationelle NULL (->nil ^^) Bytes zu lesen... :/

2.2
Delphi-Quellcode:
   {Host = '...'; Port = 443;}
   String A := IDHTTP1.Get('https://nexus.passport.com/rdr/pprdr.asp');
-> A ist leer

2.3
Delphi-Quellcode:
   {Host = '...'; Port = 443;}
   IDHTTP1.Head('https://nexus.passport.com/rdr/pprdr.asp');
   String A := IDHTTP1.ResponseText;
-> A == "200 OK"

Meine erste Frage: benutze ich überhaupt die richtigen Komponenten? Und wenn ja, was mach ich falsch? Meiner Meinung nach müssten alle 3 Methoden gehen


Danke,

Tom

PS: Anbei die Anleitung zum MSNP8 Protokoll - zumindest grob ^^
Angehängte Dateien
Dateityp: doc logging_in_with_ssl_on_msnp8_183.doc (48,0 KB, 9x aufgerufen)
C++ != D

  Mit Zitat antworten Zitat
Benutzerbild von Zacherl
Zacherl

Registriert seit: 3. Sep 2004
4.629 Beiträge
 
Delphi 10.2 Tokyo Starter
 
#2

Re: MSN -> TWEENER

  Alt 14. Jun 2006, 19:57
Herzlich willkommen in der DP

Zum Thema: Bei der Lösung mittels TCP Client: sollte der Port nicht 80 lauten. Das ist der standard HTTP Port.
Was für Fehler kommen eigentlich?

Florian
Projekte:
- GitHub (Profil, zyantific)
- zYan Disassembler Engine ( Zydis Online, Zydis GitHub)
  Mit Zitat antworten Zitat
Tommy

Registriert seit: 14. Jun 2006
Ort: chemnitz
20 Beiträge
 
#3

Re: MSN -> TWEENER

  Alt 14. Jun 2006, 20:00
Zitat:
Herzlich willkommen in der DP
ty

Zitat:
Zum Thema: Bei der Lösung mittels TCP Client: sollte der Port nicht 80 lauten. Das ist der standard HTTP Port.
Der Port lautet immer 443 - steht ja auch immer obendrüber!? (port := 443)

Zitat:
Was für Fehler kommen eigentlich?
keine, er macht halt einfach nichts - passiert alles genau so, wie beschrieben
Das ist ja das komische - wenn Fehler kommen würden, dann hätte ich wenigstens ne Chance, zu erkennen, woran es liegt - aber so... :'(

Tommy
C++ != D

  Mit Zitat antworten Zitat
Benutzerbild von Zacherl
Zacherl

Registriert seit: 3. Sep 2004
4.629 Beiträge
 
Delphi 10.2 Tokyo Starter
 
#4

Re: MSN -> TWEENER

  Alt 14. Jun 2006, 20:06
Zitat:
Der Port lautet immer 443 - steht ja auch immer obendrüber!? (port := 443)
Schon klar, aber du sendest doch über den TCP Client eine HTTP GET Anfrage. Normalerweise müsstest du die an den Port 80 schicken. Versuch das mal.

Ich würde übrigens die Lösung über ein IdHTTP vorziehen. Auch hier mal versuchen als Port 80 zu verwenden.
Projekte:
- GitHub (Profil, zyantific)
- zYan Disassembler Engine ( Zydis Online, Zydis GitHub)
  Mit Zitat antworten Zitat
Tommy

Registriert seit: 14. Jun 2006
Ort: chemnitz
20 Beiträge
 
#5

Re: MSN -> TWEENER

  Alt 14. Jun 2006, 20:15
Delphi-Quellcode:
   IdHTTP1->Host = "nexus.passport.com";
   IdHTTP1->Port = 80;
   IdHTTP1->Get("https://nexus.passport.com/rdr/pprdr.asp");
so meintest du das?
Wenn ja: er bleibt bei der letzten Anweisung ewig hängen - das hatte ich davor auch schon irgendwnan mal... Das Prog hat zwar 0% CPU-Auslastung, aber reagiert trotzdem nicht mehr...
Es kommt auch nie in ein "OnWork", aber ist verbunden mit dem Host...

Delphi-Quellcode:
IdTCPClient1->Host = "nexus.passport.com"; //MSN->Host;
IdTCPClient1->Port = 80; //443;
IdTCPClient1->Connect();
so brinter bei dem Connect() nen Fehler, weil er sich nicht einloggen kann... Ist ja auch verständlich, weiL der Port 443 nicht umsonst vorgegeben sein wird...

Danke trotzdem...
Tom
C++ != D

  Mit Zitat antworten Zitat
Benutzerbild von Zacherl
Zacherl

Registriert seit: 3. Sep 2004
4.629 Beiträge
 
Delphi 10.2 Tokyo Starter
 
#6

Re: MSN -> TWEENER

  Alt 14. Jun 2006, 20:19
Achso. Sorry ich hab da glaube ich auch was Falsches gesagt. Du stellst ja eine HTTPS und keine HTTP Verbindung her. Dann stimmt der Port natürlich.
Aber kein Wunder, dass A bei der HTTP Lösung leer ist: Ruf mal die angesprochene Seite im Browser auf: https://nexus.passport.com/rdr/pprdr.asp
Projekte:
- GitHub (Profil, zyantific)
- zYan Disassembler Engine ( Zydis Online, Zydis GitHub)
  Mit Zitat antworten Zitat
Tommy

Registriert seit: 14. Jun 2006
Ort: chemnitz
20 Beiträge
 
#7

Re: MSN -> TWEENER

  Alt 14. Jun 2006, 20:22
ja, das hab ich auch schon gemacht und auch schon gesehen, dass die Seite leer ist...
aber ich habe immer das gleiche gelesen, wenn ich mal was dazu gefunden hatte - nämlich jedes mal wieder den gleichen 'Link'

Tom
C++ != D

  Mit Zitat antworten Zitat
Benutzerbild von Zacherl
Zacherl

Registriert seit: 3. Sep 2004
4.629 Beiträge
 
Delphi 10.2 Tokyo Starter
 
#8

Re: MSN -> TWEENER

  Alt 14. Jun 2006, 20:34
An welche Information willst du denn über den Link gelangen?
Projekte:
- GitHub (Profil, zyantific)
- zYan Disassembler Engine ( Zydis Online, Zydis GitHub)
  Mit Zitat antworten Zitat
Tommy

Registriert seit: 14. Jun 2006
Ort: chemnitz
20 Beiträge
 
#9

Re: MSN -> TWEENER

  Alt 14. Jun 2006, 20:37
Zitat:
HTTP/1.1 200 OK\r\n
Server: Microsoft-IIS/5.0\r\n
Date: Sun, 14 Sep 2003 20:35:16 GMT\r\n
PassportURLs: DARealm=Passport.Net,DALogin=login.passport.com/login2.srf,DAReg=http://register... [truncated]
Connection: Keep-Alive\r\n
Content-Length: 0\r\n
Content-Type: text/html\r\n
Cache-control: private\r\n\r\n
das sollte er wiedergeben - dabei ist das fette nur interessant... das kann man zwar auch statisch machen, aber dann hätte ich an der nächsten stelle ein prob, weil
dann wieder das gleiche passiert...

hier hat sich auch noch ma jmd die Mühe gemacht, das alles aufzuschreiben:

Zitat:
HTTPS is a secure version of the HTTP Protocol.
For the Passport Nexus we have to use a 128-bit SSL Connection
I have created a OCX that does the passport nexus for you, but if you want to slave on it yourself heres what to do:


CODE
{C} We connect to nexus.passport.com on port 443
{>>}GET /rdr/pprdr.asp HTTP/1.0\Newline\Newline
{<<}HTTP/1.1 200 OK\Newline
Server: Microsoft-IIS/5.0\Newline
Date: Mon, 02 Jun 2003 11:57:47 GMT\Newline
Connection: close\Newline
PassportURLs: DARealm=Passport.Net,DALogin=login.passport.com/login2.srf,DAReg=http://register.passport.net/uixpwiz.srf,[USW]Content-Length: 0\Newline
Content-Type: text/html\Newline
Cache-control: private\Newline
\Newline
{C}Passport Nexus closes the connection
(Quelle: http://72.14.221.104/search?q=cache:...e&ct=clnk&cd=4)

--> es MUSS gehen
Tom
C++ != D

  Mit Zitat antworten Zitat
Waldteufel
(Gast)

n/a Beiträge
 
#10

Re: MSN -> TWEENER

  Alt 14. Jun 2006, 20:39
Hi Tommmmmmmmmmmmy.

Die erste Variante funktioniert vermutlich nicht, denn '\r\n\r\n' ist in Delphi ein String mit vier Backslashes und r's und n's dazwischen. In C/C++/C#/Java/Perl/Ruby/... ist es aber die Zeichenfolge #13#10#13#10 (#13 = Wagenrücklauf; #10 = Zeilenvorschub)

Also: IdTCPClient1.Write('GET /rdr/pprdr.asp HTTP/1.0'#13#10#13#10);


Ist - das - pein - lich!
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 17:58 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz