fonction pour connexion serveur + regex

fonction pour connexion serveur + regex - C - Programmation

Marsh Posté le 08-06-2004 à 18:57:35    

Bonjour tout le monde :hello:
 
je cherche les fonctions en C pour se connecter a un serveur web et obtenir une page html.
Je voudrais savoir aussi les fonctions pour utiliser les expressions reguliere afin de parser la page html.
 
Je sais faire tout cela en PHP, mais pas en C.
 
Donc si vous avez de la doc la dessus, merci de me la donner :jap:


Message édité par Fabien le 08-06-2004 à 19:00:32

---------------
Découvre le HFRcoin ✈ - smilies
Reply

Marsh Posté le 08-06-2004 à 18:57:35   

Reply

Marsh Posté le 08-06-2004 à 19:03:03    

y'a pas de fonction en C pour te connecter à un serveur Web, il faut utiliser les sockets directement.
pour les regexp, y'a plein de librairies disponibles, suffit de chercher :o
(tip : google => +C +"regular expressions" +library)


---------------
J'ai un string dans l'array (Paris Hilton)
Reply

Marsh Posté le 08-06-2004 à 19:05:53    

Harkonnen a écrit :

y'a pas de fonction en C pour te connecter à un serveur Web, il faut utiliser les sockets directement.
pour les regexp, y'a plein de librairies disponibles, suffit de chercher :o
(tip : google => +C +"regular expressions" +library)

oui mais les sockets ca marche comment ?
 
merci pour le tip google parce que chercher la lettre "c" comme mot clé c'est pas terrible.


---------------
Découvre le HFRcoin ✈ - smilies
Reply

Marsh Posté le 08-06-2004 à 19:21:55    

Fabien a écrit :

oui mais les sockets ca marche comment ?
 
merci pour le tip google parce que chercher la lettre "c" comme mot clé c'est pas terrible.


 
man:
socket
bind
connect
recv
send
select
...
 
Il va vous falloir aussi apprendre le protocole http pour que cela marche.
 
Si vous ne voulez pas vous emmerder avec tout ça, utilisez la lib curl.

Reply

Marsh Posté le 08-06-2004 à 19:49:28    

il est bien ce tuto?
 
http://c.developpez.com/WalrusSock/
 


---------------
Découvre le HFRcoin ✈ - smilies
Reply

Marsh Posté le 08-06-2004 à 20:41:41    


pas trop mal pour ce que tu veux faire (te connecter à un serveur Web), mais il ne traite pas des raw sockets, certainement plus intéressants que les socket "normaux". mais bon, ça suffit pour du HTTP.
comme le dit Doc, va falloir aussi te palucher le protocole HTTP.
inutile de te taper la RFC 2616 en entier pour une connection web, la lecture de cet excellent site suffira :
http://www.salemioche.com


---------------
J'ai un string dans l'array (Paris Hilton)
Reply

Marsh Posté le 08-06-2004 à 22:03:15    

j'ai essayé de compiler ce code:
 
http://www.salemioche.com/http/http_prog8.php
 
 et j'ai ces erreurs:
 

Code :
  1. C:\DOCUME~1\fabien\LOCALS~1\Temp\ccG2baaa.o(.text+0x1f1):serveur.cpp: undefined reference to `WSAStartup@8'
  2. C:\DOCUME~1\fabien\LOCALS~1\Temp\ccG2baaa.o(.text+0x20d):serveur.cpp: undefined reference to `WSAGetLastError@0'
  3. C:\DOCUME~1\fabien\LOCALS~1\Temp\ccG2baaa.o(.text+0x24a):serveur.cpp: undefined reference to `inet_addr@4'
  4. C:\DOCUME~1\fabien\LOCALS~1\Temp\ccG2baaa.o(.text+0x27d):serveur.cpp: undefined reference to `gethostbyname@4'
  5. C:\DOCUME~1\fabien\LOCALS~1\Temp\ccG2baaa.o(.text+0x293):serveur.cpp: undefined reference to `WSAGetLastError@0'
  6. C:\DOCUME~1\fabien\LOCALS~1\Temp\ccG2baaa.o(.text+0x2e1):serveur.cpp: undefined reference to `htons@4'
  7. C:\DOCUME~1\fabien\LOCALS~1\Temp\ccG2baaa.o(.text+0x2fe):serveur.cpp: undefined reference to `socket@12'
  8. C:\DOCUME~1\fabien\LOCALS~1\Temp\ccG2baaa.o(.text+0x340):serveur.cpp: undefined reference to `connect@12'
  9. C:\DOCUME~1\fabien\LOCALS~1\Temp\ccG2baaa.o(.text+0x381):serveur.cpp: undefined reference to `shutdown@8'
  10. C:\DOCUME~1\fabien\LOCALS~1\Temp\ccG2baaa.o(.text+0x392):serveur.cpp: undefined reference to `closesocket@4'
  11. C:\DOCUME~1\fabien\LOCALS~1\Temp\ccG2baaa.o(.text+0x39a):serveur.cpp: undefined reference to `WSACleanup@0'
  12. C:\DOCUME~1\fabien\LOCALS~1\Temp\ccG2baaa.o(.text+0x5bd):serveur.cpp: undefined reference to `send@16'
  13. C:\DOCUME~1\fabien\LOCALS~1\Temp\ccG2baaa.o(.text+0x737):serveur.cpp: undefined reference to `send@16'
  14. C:\DOCUME~1\fabien\LOCALS~1\Temp\ccG2baaa.o(.text+0x797):serveur.cpp: undefined reference to `recv@16'


Message édité par Fabien le 08-06-2004 à 22:03:27

---------------
Découvre le HFRcoin ✈ - smilies
Reply

Marsh Posté le 08-06-2004 à 22:07:43    

moi j'abandonne hein !
comment veux tu faire du C si tu ne connais pas la notion d'include, de linkage statique, et tout ? :fou:


---------------
J'ai un string dans l'array (Paris Hilton)
Reply

Marsh Posté le 08-06-2004 à 22:27:21    

commence par lire le K&R [:itm]

Reply

Marsh Posté le 08-06-2004 à 22:44:08    

Harkonnen a écrit :

moi j'abandonne hein !
comment veux tu faire du C si tu ne connais pas la notion d'include, de linkage statique, et tout ? :fou:

:(


---------------
Découvre le HFRcoin ✈ - smilies
Reply

Marsh Posté le 08-06-2004 à 22:44:08   

Reply

Marsh Posté le 08-06-2004 à 22:54:08    

Harkonnen a écrit :

moi j'abandonne hein !
comment veux tu faire du C si tu ne connais pas la notion d'include, de linkage statique, et tout ? :fou:

http://leocat.free.fr/shadok/generalites/images/shadok6.jpg


---------------
trainoo.com, c'est fini
Reply

Marsh Posté le 09-06-2004 à 12:27:09    

Harkonnen a écrit :

moi j'abandonne hein !
comment veux tu faire du C si tu ne connais pas la notion d'include, de linkage statique, et tout ? :fou:

c'est quoi alors que j'ai mal fait ? :/
j'ai seulement pris le code et essayé de le compiler, je ne comprend pas ce que j'ai fait de mal ? :??:
 


---------------
Découvre le HFRcoin ✈ - smilies
Reply

Marsh Posté le 09-06-2004 à 13:38:58    

A priori la compilation a l'air d'aller, mais il te manque clairement qqchose au linkage vu toutes les erreurs sur les fonctions liées aux sockets.
T'as l'air d'être sous WinTruc, donc link avec "Ws2_32.lib"

Reply

Marsh Posté le 09-06-2004 à 13:42:21    

je suis sous dev c++ et je ne sais pas comment linker. On fait comment ?  


---------------
Découvre le HFRcoin ✈ - smilies
Reply

Marsh Posté le 09-06-2004 à 14:02:36    

Faut peut-être lire la doc là, non ??  :o  
normalement tu dois trouver ça dans les options/préférences, tu devrais trouver une rubrique de linkage où tu dois pouvoir rajouter des bibliothèques. Dsl mais au taf je n'ai que Visual ..

Reply

Marsh Posté le 09-06-2004 à 14:36:03    

Fabien a écrit :

je suis sous dev c++ et je ne sais pas comment linker. On fait comment ?

spapossib', il trolle [:austinou]


Message édité par Harkonnen le 09-06-2004 à 14:36:23

---------------
J'ai un string dans l'array (Paris Hilton)
Reply

Marsh Posté le 09-06-2004 à 14:48:22    

j'ai compris, je vais aller faire ca en php [:mmmfff]


---------------
Découvre le HFRcoin ✈ - smilies
Reply

Marsh Posté le 09-06-2004 à 14:51:05    

Fabien a écrit :

j'ai compris, je vais aller faire ca en php [:mmmfff]


 
ouais laisse les vrais langages de programmation aux gens qui ont un cerveau :o

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed