HTTP hilfe...

Übersicht BlitzBasic BlitzPlus

Neue Antwort erstellen

 

gamer-ai001

Betreff: HTTP hilfe...

BeitragMo, Jun 30, 2008 13:13
Antworten mit Zitat
Benutzer-Profile anzeigen
Ich will ein programm haben was eine page aufruft und sich über den POST befehl einloggt, wo ich garnicht weiß wie das geht..... die formular felder heißen name und pass.
Danke schonmal währe toll wenn mir jemand helfen könnte.

Ich hab folgenden code aber weiß nicht genau was damit nicht stimmt und hab leider keine ahnung wie ich den login realisiere.

// ok hatte ein kleinen fehler drinne... aber wie ruf ich jetzt seiten auf und mache das mit dem post Smile

Code: [AUSKLAPPEN]
server$ = "74.125.39.104"

www=OpenTCPStream( Server$,80 )
If Not www
Print "Error!"
Delay(5000)
End
EndIf

Local SENDHEADER$ = "GET " + " HTTP/1.1" + Chr$(13)+Chr$(10)
 SENDHEADER$ = SENDHEADER$ + "Host: "+ server$ + Chr$(13)+Chr$(10)
 SENDHEADER$ = SENDHEADER$ + "User-Agent: BlitzBasic"+ Chr$(13)+ Chr$(10)
 SENDHEADER$ = SENDHEADER$ + "Connection: close" + Chr$(13)+ Chr$(10)
 SENDHEADER$ = SENDHEADER$ + "Content-Type: application/x-www-form-urlencoded" + Chr$(13)+Chr$(10)

WriteLine www, SENDHEADER$

Repeat
temphead$ = ReadLine(www)
Print "x " + temphead$
Until temphead$ = "" Or (Eof(www))


CloseTCPStream www

WaitKey()
Delay 2000
[/code]
 

Dreamora

BeitragMo, Jun 30, 2008 13:17
Antworten mit Zitat
Benutzer-Profile anzeigen
Der erste Ansatz wäre dann das du auch per POST mit dem Host kommunizierst und nicht via GET Smile
Ihr findet die aktuellen Projekte unter Gayasoft und könnt mich unter @gayasoft auf Twitter erreichen.

flona

BeitragMo, Jun 30, 2008 13:44
Antworten mit Zitat
Benutzer-Profile anzeigen
Und wie du dem entnehmen kannst musst du dann noch im Header die Variablen mitschicken.
www.Dreier-Florian.kilu.de
Intel Core 2 Quad Q9400 | Zotac 9800GT | 4GB RAM | 1TB HDD | Windows 7 Professional 32bit
 

gamer-ai001

BeitragMo, Jun 30, 2008 14:34
Antworten mit Zitat
Benutzer-Profile anzeigen
und wie mach ich das, das ich eingeloggt bleibe ?... dafür brauch man doch cookis oder ?...

muss ich dann einfach nur das oben in post machen und dann noch z.B
SENDHEADER$ = SENDHEADER$ + "pass=xxx" + Chr$(13)+ Chr$(10)
SENDHEADER$ = SENDHEADER$ + "name=xxx" + Chr$(13)+ Chr$(10)

danke
 

Dreamora

BeitragMo, Jun 30, 2008 14:40
Antworten mit Zitat
Benutzer-Profile anzeigen
Eher SessionID

Denke da musst du dich eingehend mit PHP und Webentwicklung auseinander setzen. Hacky-Copy-Paste wird dir nicht helfen sorry. (denn das verständnis davon brauchst du sonst gehts keine 2 tage bis jemand deinen webaccount gehackt hat wegen unsicherheit in deinen PHP Codes etc)
Ihr findet die aktuellen Projekte unter Gayasoft und könnt mich unter @gayasoft auf Twitter erreichen.
 

gamer-ai001

BeitragMo, Jun 30, 2008 14:57
Antworten mit Zitat
Benutzer-Profile anzeigen
........
  • Zuletzt bearbeitet von gamer-ai001 am So, Dez 13, 2015 18:09, insgesamt einmal bearbeitet
 

Dreamora

BeitragMo, Jun 30, 2008 15:01
Antworten mit Zitat
Benutzer-Profile anzeigen
Wozu genau verschwendest du zeit mit php etc wenn du es lokal machst? Wozu ein login wenn du es lokal machst?
Was genau versuchst du zu erreichen oder anders: Wenns nur ne Datenbank braucht, warum net gleich SQLLite?

Cookies gehen schon wenn du das gesamte dafür zuständig handling noch implementierst was für Cookie support notwendig ist.

Wir sind auch keine Hellseher, wir können nicht wissen was du erreichen willst, wenn du es "vergisst" zu erwähnen. Denn kaum jemand geht davon aus das du irgendwas lokal machen willst wenn du dir die mühe mit HTTP machst, sorry.
Ihr findet die aktuellen Projekte unter Gayasoft und könnt mich unter @gayasoft auf Twitter erreichen.

Smily

BeitragMo, Jun 30, 2008 17:23
Antworten mit Zitat
Benutzer-Profile anzeigen
Dreamora, die SessionID wird clientseitig genauso behandelt wie ein Cookie.. genaugenommen ist es auch nichts anderes, also war dein Vorletzter post wohl eher Schmarn.
Und bei deinen Letzten hast du wohl was falsch verstanden. Ich glaube gamer-ai meinte, dass das blitz programm lokal ausgeführt wird. Ich glaube schon, dass der Webserver woanders ist.. Er connectet ja zu einer IP und nicht localhost

gamer-ai001

so sieht z.B. ein request mit post daten aus:
Code: [AUSKLAPPEN]

POST /login.php HTTP/1.1
Host: server
User-Agent: Mozilla/5.0 (X11; U; Linux i686; de; rv:1.8.1.14) Gecko/20080410 SUSE/2.0.0.14-0.1 Firefox/2.0.0.14
Accept: text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5
Accept-Language: de-de,de;q=0.8,en-us;q=0.5,en;q=0.3
Accept-Encoding: gzip,deflate
Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7
Keep-Alive: 300
Connection: keep-alive
Content-Type: application/x-www-form-urlencoded
Content-Length:  [länge] (<-- wichtig, länge des post-strings in Bytes angeben!)

name=bla&pass=blub


(die leerzeile ist wichtig)

die antwort könnte dann sowas in der art sein:
Code: [AUSKLAPPEN]

HTTP/1.x 200 OK
Date: Mon, 30 Jun 2008 15:18:16 GMT
Server: Apache/2.2.3 (Debian) DAV/2 SVN/1.4.2 PHP/5.2.0-8+etch11 mod_perl/2.0.2 Perl/v5.8.8
X-Powered-By: PHP/5.2.0-8+etch11
Set-Cookie: PHPSESSID=e1dd3f58156e92fe3189d6eba1d10f48; path=/; domain=lernu.net
Expires: Thu, 19 Nov 1981 08:52:00 GMT
Cache-Control: no-store, no-cache, must-revalidate, post-check=0, pre-check=0
Pragma: no-cache
Vary: Accept-Encoding,User-Agent
Content-Encoding: gzip
Content-Length: 20
Keep-Alive: timeout=15, max=100
Connection: Keep-Alive
Content-Type: text/html; charset=UTF-8


und deinen nächsten request machst du so:
Code: [AUSKLAPPEN]

GET / HTTP/1.1
Host: server
User-Agent: Mozilla/5.0 (X11; U; Linux i686; de; rv:1.8.1.14) Gecko/20080410 SUSE/2.0.0.14-0.1 Firefox/2.0.0.14
Accept: text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5
Accept-Language: de-de,de;q=0.8,en-us;q=0.5,en;q=0.3
Accept-Encoding: gzip,deflate
Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7
Keep-Alive: 300
Connection: keep-alive
Cookie: PHPSESSID=e1dd3f58156e92fe3189d6eba1d10f48


Noch einen kleinen Tip zum abschluss: Installiere dir mal ein Programm wie LiveHTTPHeaders oder Wireshark. Durch das sogenannte Reverse-Enginering, (also einfach mal Beobachten was passiert und "ahaaa!" sagen Wink ) kann man schon einiges lernen.
Lesestoff:
gegen Softwarepatente | Netzzensur | brain.exe | Unabhängigkeitserklärung des Internets

"Wir müssen die Rechte der Andersdenkenden selbst dann beachten, wenn sie Idioten oder schädlich sind. Wir müssen aufpassen. Wachsamkeit ist der Preis der Freiheit --- Keine Zensur!"
stummi.org

Neue Antwort erstellen


Übersicht BlitzBasic BlitzPlus

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group