C# Classe und Funktion

06/01/2013 21:25 Ludder231#1
Hi,

ich wollte mir in C# ne Class machen die etwa so geht
PHP Code:
Post var = new Post.pPost("", "", ""); 
Das heißt Post ist die Class. var der Variablenname. und ich will als untergruppe von der Class Post eine Funktion haben die pPost heißt.

Ich hab in meiner Class stehen
PHP Code:
namespace WindowsFormsApplication1
{
    class 
Post
     
{
       
       public 
string pPost(string url, string s_Post, CookieContainer logincookie)
         {

             
//Code...
        
} 
Aber iwas ist falsch. Der zeigt mir die Untergruppe pPost nicht an. Sorry falls das ne dumme Frage ist, aber ich lerne C# gerade erst.
06/01/2013 21:36 Syc#2
Erst das Objekt erstellen, dann die Methode aufrufen.

Code:
Post post1 = new Post();
string test = post1.pPost("", "", "");
06/01/2013 22:25 Ludder231#3
Und nun möchte ich mich gerne auf eine Webseite einloggen.

Ich habs so aber ich glaube ich hab das mit den CookieContainern noch nicht so drauf.

PHP Code:
  private void button2_Click(object sender, EventArgs e)
        {

            
Post loginPost = new Post();
               
            
loginPost.pPost("http://www.howrse.de/", "&login=***&password=***&isBoxStyle=");


            
Post loginPost2 = new Post();

            
loginPost2.webRPost("http://www.howrse.de/jeu/?identification=1", "");
           
         
        } 

PHP Code:
class Post
     
{
   
        public static 
CookieContainer loginCookie = new CookieContainer();

       public 
string pPost(string url, string s_Post)
         {
           
             
HttpWebRequest Request = (HttpWebRequest)WebRequest.Create(url);
            
// CookieContainer tempcookie = new CookieContainer();
             
Request.Method = "POST";
             
Request.ContentType = "application/x-www-form-urlencoded";
             
Request.UserAgent = " Mozilla/5.0 (Windows NT 6.1; WOW64; rv:16.0) Gecko/20100101 Firefox/16.0";
             
Request.Referer = "http://www.howrse.de/";
                
             
Request.CookieContainer = loginCookie;
           
             
// string Post = s_Post;
             
byte[] byteArray = Encoding.UTF8.GetBytes(s_Post);
             
Request.ContentLength = byteArray.Length;
             
Stream DataStream = Request.GetRequestStream();
             
DataStream.Write(byteArray, 0, byteArray.Length);
             
DataStream.Close();

             
HttpWebResponse Response = (HttpWebResponse)Request.GetResponse();
             
DataStream = Response.GetResponseStream();
             
StreamReader reader = new StreamReader(DataStream);
             
string ServerResponse = reader.ReadToEnd();
             
reader.Close();
             
DataStream.Close();
             
Response.Close();

             
System.Windows.Forms.MessageBox.Show(loginCookie.Count.ToString());
             
File.WriteAllText("bla.html", ServerResponse);


            return 
ServerResponse.ToString();


         }  
//ENDE pPost Funktion




       
public string webRPost(string url, string s_Post)
       {


           
HttpWebRequest Request = (HttpWebRequest)WebRequest.Create(url);
           
Request.Method = "POST";
           
Request.ContentType = "application/x-www-form-urlencoded";
           
Request.UserAgent = " Mozilla/5.0 (Windows NT 6.1; WOW64; rv:16.0) Gecko/20100101 Firefox/16.0";

           
Request.CookieContainer = loginCookie;

           
byte[] byteArray = Encoding.UTF8.GetBytes(s_Post);
           
Request.ContentLength = byteArray.Length;
           
Stream DataStream = Request.GetRequestStream();
           
DataStream.Write(byteArray, 0, byteArray.Length);
           
DataStream.Close();

           
HttpWebResponse Response = (HttpWebResponse)Request.GetResponse();
           
DataStream = Response.GetResponseStream();
           
StreamReader reader = new StreamReader(DataStream);
           
string ServerResponse = reader.ReadToEnd();
           
reader.Close();
           
DataStream.Close();
           
Response.Close();

           
System.Windows.Forms.MessageBox.Show(loginCookie.Count.ToString());

           
File.WriteAllText("bla2.html", ServerResponse);

           return 
ServerResponse.ToString();;

       }
//ENDE webRPost

        

    
} // ENDE class Post 
Vllt könnt ihr mir helfen.

MfG Ludder231
06/02/2013 09:35 MoepMeep#4
Quote:
Originally Posted by Ludder231 View Post
PHP Code:
  private void button2_Click(object sender, EventArgs e)
        {

            
Post loginPost = new Post();
               
            
loginPost.pPost("http://www.howrse.de/", "&login=***&password=***&isBoxStyle=");


            
Post loginPost2 = new Post();

            
loginPost2.webRPost("http://www.howrse.de/jeu/?identification=1", "");
           
         
        } 
Wieso erstellst du überhaupt ein neues Objekt der Post-Klasse?
Wieso hast du 2 nahezu identische Methoden?
[Only registered and activated users can see links. Click Here To Register...]
06/02/2013 11:13 Ludder231#5
Quote:
Originally Posted by MoepMeep View Post
Wieso erstellst du überhaupt ein neues Objekt der Post-Klasse?
Wieso hast du 2 nahezu identische Methoden?
[Only registered and activated users can see links. Click Here To Register...]
Habs schon geändert, weil mir das auch aufgefallen ist mti dem neuen Post. Ähm und 2. weil sie noch bisschen anders ist , wegen der request etc.

EDIT: Okay ich hab mir angeguckt, was webRPost als Cookie gibt. Leider garncihts, aber woran liegt das?
Bzw. der 2. Cookie gibt "1" zurück. Und ich bekomm kein response. Beim ersten bekomme ich :
PHP Code:
{"redirection":"http:\/\/www.howrse.de\/jeu\/?identification=1"} 
zurück
06/02/2013 11:44 MoepMeep#6
Quote:
Originally Posted by Ludder231 View Post
Habs schon geändert, weil mir das auch aufgefallen ist mti dem neuen Post. Ähm und 2. weil sie noch bisschen anders ist , wegen der request etc.
Das was gleich ist, gehört in Methoden. Für so einen Code würde ich dich Kündigen.
06/02/2013 12:08 Ludder231#7
Quote:
Originally Posted by MoepMeep View Post
Das was gleich ist, gehört in Methoden. Für so einen Code würde ich dich Kündigen.
Ja kann schon sein, da ich aber erst vor kurzem angefangen habe mit C# ist es wohl verständlich. Aber wo ist den nun der Fehler warum ich nix zurück bekomme?
06/02/2013 12:33 MoepMeep#8
Quote:
Originally Posted by Ludder231 View Post
Ja kann schon sein, da ich aber erst vor kurzem angefangen habe mit C# ist es wohl verständlich.
Nein.

Quote:
Aber wo ist den nun der Fehler warum ich nix zurück bekomme?
Debuggen.
06/04/2013 17:03 SwarN#9
@MoepMoep

Es gibt nunmal auch noch newbie's, ich muss zumindest sagen Ludder strengt sich wenigstens an, im gegensatz zu manch anderen die sich hier rumtummeln.

Widerum muss ich dir zustimmen, die beste möglichkeit aufzudecken, warum du nicht's zurückbekommst ist wohl das debuggen. Somit weißt du auch an welcher Stelle du nicht's mehr bekommst / wo was falsch läuft.
06/04/2013 19:57 MoepMeep#10
Quote:
Originally Posted by SwarN View Post
@MoepMoep

Es gibt nunmal auch noch newbie's, ich muss zumindest sagen Ludder strengt sich wenigstens an, im gegensatz zu manch anderen die sich hier rumtummeln.
Strengt sich an? Hat scheiße zusammenkopiert und versteht es nun nicht :|