Skocz do zawartości
  • 👋 Witaj na MPCForum!

    Przeglądasz forum jako gość, co oznacza, że wiele świetnych funkcji jest jeszcze przed Tobą! 😎

    • Pełny dostęp do działów i ukrytych treści
    • Możliwość pisania i odpowiadania w tematach
    • System prywatnych wiadomości
    • Zbieranie reputacji i rozwijanie swojego profilu
    • Członkostwo w jednej z największych społeczności graczy

    👉 Dołączenie zajmie Ci mniej niż minutę – a zyskasz znacznie więcej!

    Zarejestruj się teraz

HttpWebRequest 2 pytania


Rekomendowane odpowiedzi

Opublikowano

Siema,

 

Mam dwa pytania dotyczące httpwebrequest. 

 

1.Proste logowanie. 

 

Zrobiłem tak:

string log = textBox1.Text;
string pas = textBox2.Text;

ASCIIEncoding encoding = new ASCIIEncoding();
                 string postData = "Username=" + log + "&Password=" + pas;
                byte[] data = encoding.GetBytes(postData);

                WebRequest request = WebRequest.Create("URL");
                request.Method = "POST";
                request.ContentType = "application/x-www-form-urlencoded";
                request.ContentLength = data.Length;
 
                Stream stream = request.GetRequestStream();
                stream.Write(data, 0, data.Length);
                stream.Close();
 
                WebResponse response = request.GetResponse();
                stream = response.GetResponseStream();
 
                StreamReader sr = new StreamReader(stream);
                MessageBox.Show(sr.ReadToEnd());
 
                sr.Close();
                stream.Close();

A tutaj wynik z Http headers: 

POST /page/login HTTP/1.1
Content-Type: application/x-www-form-urlencoded

Username=test&Password=test

Chyba działa, bo daje messagebox, ale jak sprawdzić czy na 100% się zalogował?

 

2. Wysyłanie

POST /conversation/message HTTP/1.1
Content-Type: application/x-www-form-urlencoded; charset=UTF-8


conversationId=&userId=437737&message=Test&accessToken=&username=Fake&ajax=True

Jak widzicie jest user id. Co w tej sytuacji robić robić? (za każdym razem się zmienia) 

 

Chciałem zrobić przez webbrowsera, ale strona go nie obsługuje nawet przez useragenta. Sorry jak coś jest źle, ale nigdy mi to nie było potrzebne i niezbyt się w tym orientuję.

 

 

 

linki w górę

Opublikowano

Strona na pewno wysyła inną odpowiedź w przypadku niepoprawnych danych.

Opublikowano

Ogólnie nie zwraca żadnego błędu, ale nie wysyła wiadomości 

 ASCIIEncoding encoding = new ASCIIEncoding();
              string postData = "conversationId=&userId=437737&message=Test&accessToken=&username=Fake&ajax=True";
              byte[] data = encoding.GetBytes(postData);

              WebRequest request = WebRequest.Create("URL");
              request.Method = "POST";
              request.ContentType = "application/x-www-form-urlencoded; charset=UTF-8";
              request.ContentLength = data.Length;

              Stream stream = request.GetRequestStream();
              stream.Write(data, 0, data.Length);
              stream.Close();

              WebResponse response = request.GetResponse();
              stream = response.GetResponseStream();

              StreamReader sr = new StreamReader(stream);
              MessageBox.Show(sr.ReadToEnd());

              sr.Close();
              stream.Close();

Możecie jakoś pomóc? Wydaje mi się że się nie loguje, ale nie jestem pewien.

linki w górę

Opublikowano

Ogólnie nie zwraca żadnego błędu, ale nie wysyła wiadomości 

 ASCIIEncoding encoding = new ASCIIEncoding();
              string postData = "conversationId=&userId=437737&message=Test&accessToken=&username=Fake&ajax=True";
              byte[] data = encoding.GetBytes(postData);

              WebRequest request = WebRequest.Create("URL");
              request.Method = "POST";
              request.ContentType = "application/x-www-form-urlencoded; charset=UTF-8";
              request.ContentLength = data.Length;

              Stream stream = request.GetRequestStream();
              stream.Write(data, 0, data.Length);
              stream.Close();

              WebResponse response = request.GetResponse();
              stream = response.GetResponseStream();

              StreamReader sr = new StreamReader(stream);
              MessageBox.Show(sr.ReadToEnd());

              sr.Close();
              stream.Close();

Możecie jakoś pomóc? Wydaje mi się że się nie loguje, ale nie jestem pewien.

Skoro nie jesteś pewien to użyj regex do sprawdzenia jakiegoś tekstu który występuje tylko po zalogowaniu się, np. Wyloguj.

8LTfBGw.jpg

Opublikowano

Skoro nie jesteś pewien to użyj regex do sprawdzenia jakiegoś tekstu który występuje tylko po zalogowaniu się, np. Wyloguj.

Regex do tego? Nie ma sensu, już System.String.Contains wystarczy do czegoś tak prostego - równie dobre, krótsze, szybsze.

Opublikowano

Regex do tego? Nie ma sensu, już System.String.Contains wystarczy do czegoś tak prostego - równie dobre, krótsze, szybsze.

Ja dałem tylko przykład jak można sprawdzić czy jest zalogowany, jak zrobi autor to już jego sprawa.

8LTfBGw.jpg

Zarchiwizowany

Ten temat przebywa obecnie w archiwum. Dodawanie nowych odpowiedzi zostało zablokowane.

×
×
  • Dodaj nową pozycję...