begin process at 2012 02 12 06:27:01
  Trouver un code source :
 
dans
 
Accueil > 

Code

 > 

Réseaux & Internet

 > ÊTRE AVERTIS LORS D'UN NOUVEL ARTICLE SUR UN BLOG DE TYPE SKYROCK

ÊTRE AVERTIS LORS D'UN NOUVEL ARTICLE SUR UN BLOG DE TYPE SKYROCK


 Description

Ce petit programme permet d'être avertis lorsqu'un nouvel article est posté sur un blog de type Skyrock.
Je compte ajouter la prise en charge d'autres blog, car Skyblog CpourLéKikoo.
Cette source utilise la librairie GNU Regex, ce fût pour moi l'occasion de la tester un peu, elle utilise les socket classiques, est compatible Linux (Bien que je n'ai pas testé de compilation sous Linux, ça devrait fonctionner sans soucis ;) ) et je compte ajouter une interface graphique si j'ai le courage (Qt)
Le code est à compléter et est un peu sale, ce n'est pour l'instant qu'une ébauche que je pense compléter si j'en ai la motivation.

Source

  • #include <iostream>
  • #if defined (WIN32)
  • #include <windows.h>
  • #elif defined (linux)
  • #include <unistd.h>
  • #endif
  • #include "CArticleBlog.h"
  • using namespace std;
  • int main() {
  • string Blog;
  • cout << "Adresse du blog (sous forme http://nom.blog.fr) : ";
  • cin >> Blog;
  • string oldArt;
  • int i = 0;
  • while (1) { // Oui je sais, c'est sale.
  • CArticleBlog pHandle;
  • if(pHandle.initSock()) { // Init socket
  • pHandle.getIPAddr(Blog);
  • if(pHandle.connectToBlog()) { // Connexion au blog ...
  • if(pHandle.sendGetRequest()) { // Envois de la requête GET
  • pHandle.getPageContent(); // Téléchargement du contenu de la page
  • string Content = pHandle.getBuffer();
  • pHandle.getNbrArticle(Content.c_str());
  • string ArticleNbr = pHandle.getLastNbrArticles(); // Nombre d'articles
  • if(i == 0) oldArt = ArticleNbr;
  • if(oldArt != ArticleNbr) {
  • cout << "Un nouvel article a ete poste" << endl;
  • #if defined (WIN32)
  • MessageBox(NULL, "Un nouvel article a été posté", "AlertArticle", MB_OK);
  • #endif
  • }
  • oldArt = ArticleNbr;
  • }
  • }
  • }
  • else {
  • cout << "Erreur de creation de socket" << endl;
  • }
  • #if defined (WIN32)
  • Sleep(30000);
  • #elif defined (linux)
  • sleep(30);
  • #endif
  • i++;
  • }
  • return 0;
  • }
#include <iostream>
#if defined (WIN32)
	#include <windows.h>
#elif defined (linux)
	#include <unistd.h>
#endif
#include "CArticleBlog.h"

using namespace std;

int main()  {
	string Blog;
	cout << "Adresse du blog (sous forme http://nom.blog.fr) : ";
	cin >> Blog;
	string oldArt;
	int i = 0;
	while (1)  { // Oui je sais, c'est sale.
	CArticleBlog pHandle;
	if(pHandle.initSock())  { // Init socket
			pHandle.getIPAddr(Blog);
			if(pHandle.connectToBlog())  { // Connexion au blog ...
				if(pHandle.sendGetRequest())   { // Envois de la requête GET
					pHandle.getPageContent(); // Téléchargement du contenu de la page
					string Content = pHandle.getBuffer();
					pHandle.getNbrArticle(Content.c_str());
					string ArticleNbr = pHandle.getLastNbrArticles(); // Nombre d'articles
					if(i == 0) oldArt = ArticleNbr;
					if(oldArt != ArticleNbr)  {
						cout << "Un nouvel article a ete poste" << endl;
						#if defined (WIN32)
							MessageBox(NULL, "Un nouvel article a été posté", "AlertArticle", MB_OK);
						#endif
					}
					oldArt = ArticleNbr;
				}
			}
		}
		else  {
			cout << "Erreur de creation de socket" << endl;
		}
		#if defined (WIN32)
			Sleep(30000);
		#elif defined (linux)
			sleep(30);
		#endif
		i++;
	}
	return 0;
}


 Fichier Zip

Les Membres Club peuvent télécharger directement un fichier contenu dans le zip sans télécharger le zip en entier !

Télécharger le zip


 Sources du même auteur

Source avec Zip Source avec une capture BOT DE CLIC (SIMULATION DE CLIC PARAMÈTRABLE)
UNIX : LISTER LE NOMBRE DE PROCESSUS TOURNANT SUR LA MACHINE

 Sources de la même categorie

Source avec Zip Source avec une capture TRACEROUTE [WINPCAP] par ganjarasta
Source avec Zip SERVEUR MULTITHREAD [LINUX/WIN] par nipepsinicolas
Source avec Zip Source avec une capture SECURE REMOTE SHELL [WIN32] par ganjarasta
Source avec Zip Source avec une capture SUIVI DE PRODUCTION ONDULEUR PHOTOVOLTAÏQUE SOLARMAX par brunovan
Source avec Zip MINICHAT MULTI-CLIENT par wisar

 Sources en rapport avec celle ci

Source avec Zip SERVEUR MULTITHREAD [LINUX/WIN] par nipepsinicolas
Source avec Zip Source avec une capture SECURE REMOTE SHELL [WIN32] par ganjarasta
Source avec Zip MINICHAT MULTI-CLIENT par wisar
SOCKET CPP par baptchr55
SIMPLE SCANNER DE PORTS par Vb6Malade

Commentaires et avis

Commentaire de uaip le 16/03/2010 00:49:53

Salut.
Je ne sais pas pour les gens, mais je trouve ce programme multiplateforme bien cool. Cela dit, tu es sûr qu'il fonctionne correctement sous Windows ? Je me souviens de WSAStartup() de winsock mais je ne me rappelais plus qu'on utilisait send() etc (en implémentant les mêmes types que ceux de sys/types.h et de sys/socket.h).
En lisant ton code, je crois que tu m'as débloqué d'un ENORME soucis (cf le forum).

Juste une remarque, je ne sais pas comment fonctionne GNU Regex, mais s'il utilise la norme PCRE, tu devrais pouvoir transformer ceci : ([0-9]|[0-9][0-9]|[0-9][0-9][0-9]|[0-9] [0-9][0-9][0-9])
en ceci : ([0-9]{1,3}|[0-9] [0-9]{3})
(à vérifier si ma syntaxe est valide)

Cordialement, uaip.

Commentaire de uaip le 16/03/2010 22:22:11

Héhé.
En fait, effectivement, les directives sont les mêmes.
Aujourd'hui, j'étais parti sur ton code, pour l'implémenter en Objective-C, et étant bloqué, je me suis petit à petit rapproché d'un code "scolaire" (cf Wikipédia). J'ai trouvé àprès 8h de boulot que le problème venait en fait du "http://" devant le paramètre de gethostbyname(). Alors, je ne sais pas par quel miracle ça fonctionne de ton côté.

Commentaire de jojo930 le 19/03/2010 08:19:52

Salut, et merci de tes commentaires.
Merci pour la Regex, je test ça de suite. Sinon, oui les sockets sont utilisable de la même façon sous UNIX que sous Windows, à quelques difference prêt (Les define et les typedef sont là pour ça dans mon code à vrai dire)
Petite erreur de ma part, en effet ça ne fonctionne pas si on ajoute le http:// dans le gethostbyname, d onc l'adresse est à taper sans le http://, par exemple : adresse.skyrock.com, et là ça fonctionne.

Je suis actuellement en train de faire une petite interface graphique, mais QThread fait un peu des siennes, je pense mettre à jour le code ce week end ou dans la semaine prochaine.

Commentaire de cyberyves le 27/03/2010 07:53:16

Eh si, il y a un souci, ça ne compile pas sous Linux. Il manque un    #include <netdb.h>

 Ajouter un commentaire


Discussions en rapport avec ce code source dans le forum

encore mon serveur [ par skysee ] bonjour,je suis toujours avec mon serveur en c sous visual c++ sous windows(sis eulement j'avais linux).Le problème est que je n'ai pas d'erreur de co Probleme reception sur un serveur windows en vc++ [ par alfred ] Salut a tous!!g un probleme dans mon serveur le recv renvoie la valeur -1 et je ne vois pas pouquoi, toute mes socket sont positives le client envois Serveur Vc++6 pb dans recv [ par alfred ] Salut a tousJ'ai un probleme dans mon serveur et je ne sais pas comment le resoudre. Le client se connecte bien et envoie le bon nombre de caracteres socket.h [ par greg4 ] je ne trouve pas socket.h !!!quelqu'un pourait me l'envoyer a ggreg4@caramail.comou me donner une address.merci socket en c [ par skysee ] Bonjour,je recherche un code en C (pas de c++) qui créer un serveur socket udp. Merci Communication par socket [ par yoyo2 ] Bonjour à tous,est-il possible de communiquer par socket entre plusieurs systèmes différents. Par exemple envoyer des données entre un PC sous Windows Recherche programme lecture Socket [ par DarknessLucifer ] Besoin d'un programme permettant de lire les informations Socket .. je travail sous windows.Si qq avait un programme fonctionnant je lui en serait tre socket RAW [ par oxydoxy ] et t'il possible d'utilise les RAW socket sous un environement comme vc++ avec winsock ? probleme socket sous windows XP [ par fr1man ] j'ai réalisé un "chat" avec les sockets en VC++6. il fonctionne très bien sous NT et 2000 mais pas sous XP. d'où vient le problème ?j'utilise l'API wi pb de socket sous windows XP [ par fr1man ] j'ai réalisé un "chat" avec les sockets en VC++6. il fonctionne très bien sous NT et 2000 mais pas sous XP. d'où vient le problème ?j'utilise l'API wi


Nos sponsors


Sondage...

CalendriCode

Février 2012
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
272829    

Consulter la suite du CalendriCode

Photothèque

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 1,950 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales