• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

C++ logowanie na stronę www

Object Storage Arubacloud
0 głosów
1,360 wizyt
pytanie zadane 18 lipca 2015 w C i C++ przez Vodoo Dyskutant (9,270 p.)
edycja 18 lipca 2015 przez Vodoo

Jestem na etapie tworzenia aplikacji umożliwiającej logowanie na stronę www. Pierwszy raz zabieram się za takie coś, więc potrzebuję małej pomocy.

Jak aplikacja mogłaby stwierdzić czy udało się zalogować na stronę czy nie? Chodzi głownie o "mechanikę" działania takiej aplikacji. Strona jest moja, więc mogę edytować logowanie (jeśli zajdzie potrzeba).

PS Wysyłać dane metodą post umiem (korzystam z kodu poniżej).

Przykładowy kod ze strony libcurl'a (może się przyda)

#include <stdio.h>
#include <curl/curl.h>

int main(void)
{
	CURL *curl;
	CURLcode res;

	/* In windows, this will init the winsock stuff */
	curl_global_init(CURL_GLOBAL_ALL);

	/* get a curl handle */
	curl = curl_easy_init();
	if (curl) {
		/* First set the URL that is about to receive our POST. This URL can
		just as well be a https:// URL if that is what should receive the
		data. */
		curl_easy_setopt(curl, CURLOPT_URL, "http://example.com/index.php");
		/* Now specify the POST data */
		curl_easy_setopt(curl, CURLOPT_POSTFIELDS, "username=admin&password=test123");

		/* Perform the request, res will get the return code */
		res = curl_easy_perform(curl);
		/* Check for errors */
		if (res != CURLE_OK)
			fprintf(stderr, "curl_easy_perform() failed: %s\n",
			curl_easy_strerror(res));

		/* always cleanup */
		curl_easy_cleanup(curl);
	}
	curl_global_cleanup();
	return 0;
}

 

1 odpowiedź

+2 głosów
odpowiedź 18 lipca 2015 przez adrian17 Ekspert (344,860 p.)
wybrane 22 lipca 2015 przez Vodoo
 
Najlepsza

Wiem że to nie odpowiada na Twoje pytanie, ale... C++ to naprawdę nie jest język do takich zastosowań. Coś takiego można by napisać sto razy szybciej i wygodniej w na przykład Rubym czy Pythonie:

import requests
response = requests.post("www.strona.com/login", params = {
	"nick": "uzytkownik"
	"haslo": "hunter2"
})

# przykladowy sposob sprawdzenia
# strona moze zwracac odpowiedz z kodem 200 jesli logowanie sie powiodlo
# i na przyklad 403 gdy sie nie powiodlo

if response.status_code != 200:
	print("logowanie nieudane")

 

komentarz 18 lipca 2015 przez Vodoo Dyskutant (9,270 p.)
edycja 18 lipca 2015 przez Vodoo
Szczerze mówiąc to pomogłeś mi... ponieważ to samo co napisałeś (sprawdzenie kodu "zwrotnego") znalazłem w internecie tylko nie wiedziałem, że to tak działa :D

EDIT: Poczytałem o tym w internecie, dzięki za pomoc.
komentarz 18 lipca 2015 przez adrian17 Ekspert (344,860 p.)
Nie zawsze i nie wszędzie to tak działa, jedne strony zwracają 403 przy nieudanej próbie logowania, a inne przy nieudanej zwracają 200 i przekierowują (302) przy udanej. Nie ma na to jakiegoś standardu.
komentarz 18 lipca 2015 przez Comandeer Guru (601,450 p.)
W teorii standardem powinny być REST-owe APIs, ale mało kto ma prawdziwie REST-owe API...
komentarz 18 lipca 2015 przez adrian17 Ekspert (344,860 p.)
Um, tak, ale nikt nie powiedział że każda strona internetowa powinna mieć jakiekolwiek API.
komentarz 18 lipca 2015 przez Comandeer Guru (601,450 p.)
No tak, ale jeśli wystawia logowanie to zwykle jakieś API jest. Taki Twitter.com np. też jest tylko klientem na własnym API. IMO bardzo sensowne - oddzielenie GUI od całej logiki pod tym.

A jak nie ma API za logowaniem to być może ktoś nie przewidział albo po prostu nie życzy sobie logowania z zewnątrz ;)
komentarz 22 lipca 2015 przez Vodoo Dyskutant (9,270 p.)
Logowanie działa, dzięki za pomoc.

Podobne pytania

0 głosów
0 odpowiedzi 442 wizyt
pytanie zadane 8 marca 2019 w PHP przez Kshyhoo Użytkownik (750 p.)
+1 głos
1 odpowiedź 1,139 wizyt
pytanie zadane 22 czerwca 2016 w C i C++ przez Akiz521 Początkujący (480 p.)
0 głosów
0 odpowiedzi 284 wizyt
pytanie zadane 10 kwietnia 2023 w C i C++ przez mark162 Początkujący (410 p.)

92,575 zapytań

141,424 odpowiedzi

319,649 komentarzy

61,960 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj.

Akademia Sekuraka

Kolejna edycja największej imprezy hakerskiej w Polsce, czyli Mega Sekurak Hacking Party odbędzie się już 20 maja 2024r. Z tej okazji mamy dla Was kod: pasjamshp - jeżeli wpiszecie go w koszyku, to wówczas otrzymacie 40% zniżki na bilet w wersji standard!

Więcej informacji na temat imprezy znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...