Du bist nicht angemeldet.

Stilllegung des Forums
Das Forum wurde am 05.06.2023 nach über 20 Jahren stillgelegt (weitere Informationen und ein kleiner Rückblick).
Registrierungen, Anmeldungen und Postings sind nicht mehr möglich. Öffentliche Inhalte sind weiterhin zugänglich.
Das Team von spieleprogrammierer.de bedankt sich bei der Community für die vielen schönen Jahre.
Wenn du eine deutschsprachige Spieleentwickler-Community suchst, schau doch mal im Discord und auf ZFX vorbei!

Werbeanzeige

noir

Frischling

  • »noir« ist der Autor dieses Themas
  • Private Nachricht senden

1

25.02.2011, 15:28

[C#]Download string problem

hey, ich bin neu hier ;)
ich hab ein problem: ich will meine php datei auslesen, um eine antwort zu bekommen, ob der user die benötigten rechte hat, um das programm weiter zu nutzen
die php datei gibt entweder 0 oder 1 aus

1 bedautet, dass der benutzer berechtigt ist.
nun habe ich das problem, dass die verbindug immer unterbrochen wird

der code:

Quellcode

1
2
3
4
5
6
7
8
string url = "http://www.meine-url.org/ordner/php-datei.php?name="+name+"&pass="+pass;
try{
WebClient wc = new WebClient();
string perm = wc.DownloadString(url);
Console.WriteLine(perm);
}catch(Exception e){
Console.WriteLine(e.Message);
}
könnt ihr mir helfen?

DerMark

Treue Seele

Beiträge: 324

Wohnort: Emsdetten

Beruf: Softwareentwickler

  • Private Nachricht senden

2

25.02.2011, 15:43

Was bedeutet für dich, die Verbindung wird immer unterbrochen? Mehr Informationen wären nicht schlecht.

noir

Frischling

  • »noir« ist der Autor dieses Themas
  • Private Nachricht senden

3

25.02.2011, 16:00

ja also der gibt mir halt aus, dass die "Zugrundeliegende Verbindung unterbrochen" wurde, also durch das catch/try gibt der mir das aus

DerMark

Treue Seele

Beiträge: 324

Wohnort: Emsdetten

Beruf: Softwareentwickler

  • Private Nachricht senden

4

25.02.2011, 16:08

Ich habe keine Ahnung wie php solche Anfragen verarbeitet ich nehme einfach mal an das es auf GET Verbs reagiert. Was passiert denn wenn du die generierte URL in die Addressleiste des Browsers eingibst?

Die Exception im try/catch sollte eigentlich vom typ WebException sein, was genau steht denn dort wenn du per Debugger dort breakst/einen Haltepunkt setzt und dir die Exception ansiehst?

noir

Frischling

  • »noir« ist der Autor dieses Themas
  • Private Nachricht senden

5

25.02.2011, 16:38

ja also meine php datei nimt die get variable und durchsucht dann eine datenbank, und gibt dementsprechend 0 oder 1 aus
hei is nochmal ein bild//edit: die url sollte auch richtig sein, habe sie mir schon ausgeben lassen
und wenn ich sie im browser eingebe, funktioniert es perfekt

//edit2: wenns hilft: hier nochmal die php datei

PHP-Quelltext

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
<?php//my sql connect
connect();

if( !isset($_GET['name'])){
    die("0");
}else{
    if( !isset($_GET['pass'])){
        die("0");
    }else{
    
    $sql "SELECT * FROM User WHERE Admin >= 1 AND Name = '".mysql_real_escape_string($_GET['name'])."' AND Password = '".md5(mysql_real_escape_string($_GET['pass']))."'";
    $result mysql_query($sql);
    echo mysql_num_rows($result);
    
    
    
    //log
    $timestamp time();
    $datum date("d.m.Y",$timestamp);
    $uhrzeit date("H:i",$timestamp);
    $aktion 'Erfolgreich authentifiziert!';
    $ip $_SERVER["REMOTE_ADDR"];
    $towrite "[".$datum."] [".$uhrzeit."] ".$ip." - ".$aktion." - ".$_GET['name']."\n";
    $log fopen("logauth.log"'a');
    fwrite($log$towrite);
    fclose($log);
    
    
    }
}?>

Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von »noir« (25.02.2011, 16:54)


Schorsch

Supermoderator

Beiträge: 5 145

Wohnort: Wickede

Beruf: Softwareentwickler

  • Private Nachricht senden

6

25.02.2011, 17:36

Ich kenne WebClient jetzt nicht aber ich gehe davon aus, dass dir so wie du es machst eine html-Seite zurückgeliefert wird. Von daher nicht einfach 0 oder 1. Für das was du vorhast, würden sich Webservices glaube ich mehr eignen. Vielleicht guckst du da mal drauf. Ansonsten müsstest du die Seite halt parsen.
„Es ist doch so. Zwei und zwei macht irgendwas, und vier und vier macht irgendwas. Leider nicht dasselbe, dann wär's leicht.
Das ist aber auch schon höhere Mathematik.“

DerMark

Treue Seele

Beiträge: 324

Wohnort: Emsdetten

Beruf: Softwareentwickler

  • Private Nachricht senden

7

25.02.2011, 17:44

Was ist damit?

"Die Exception im try/catch sollte eigentlich vom typ WebException sein, was genau steht denn dort wenn du per Debugger dort breakst/einen Haltepunkt setzt und dir die Exception ansiehst?"

Schorsch: Glaube ich nicht ganz, der WebClient wird ein GET auf die angegebene Resource absenden, der Server wird es bekommen und das Result zurück liefern, solange der PHP Server da läuft dürfte dieser das bekommen, die Datei ausführen und das Resultat zurück liefern.

Edit: da fällt mir noch ein, wie schauts mit Sicherheitsabfragen aus, ist der Server irgendwie geschützt?

Zur Not: Saug dir "Fiddler" und simuliere damit ein GET auf die Addresse, hier sollten ein par mehr Informationen zurück kommen was dir helfen könnte.

noir

Frischling

  • »noir« ist der Autor dieses Themas
  • Private Nachricht senden

8

25.02.2011, 19:49

okay, ich habe mal ein wenig rumprobiert, und mirm ist aufgefallen, dass wenn ich andere php und html seiten auf meinem webspace ansteuer, der immer die gleiche meldung ausspuckt

wenn ich jetzt allerdings eine andere website damit ansteuer, gehts

noir

Frischling

  • »noir« ist der Autor dieses Themas
  • Private Nachricht senden

9

27.02.2011, 18:54

ok ich habe mal mir meinem hoster geredet, und er meinte, ich sende keinen useragent mit
wie kann ich einen useragent mitsenden? einer ne idee?

//edit: habe es jetzt geschafft

Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von »noir« (27.02.2011, 19:03)


BlueCobold

Community-Fossil

Beiträge: 10 738

Beruf: Teamleiter Mobile Applikationen & Senior Software Engineer

  • Private Nachricht senden

10

27.02.2011, 19:14

Dein Host gibt keine Response aus, wenn Du keinen User-Agent angibst? Was ist das denn?
Teamleiter von Rickety Racquet (ehemals das "Foren-Projekt") und von Marble Theory

Willkommen auf SPPRO, auch dir wird man zu Unity oder zur Unreal-Engine raten, ganz bestimmt.[/Sarkasmus]

Werbeanzeige