Avec des outils comme httrack, on peut faire la copie d'un site.
Mais, ces outils ont des limites. Aussi, je me suis dit que je
pourrais faire mon propre outil en utilisant PHP en soi.
Mon problème: si une page est lue grâce à des arguments GET, il suffit
d'utiliser l'URL pour passer ces arguments; mais, si c'est un
formulaire avec la méthode POST, il faut passer les arguments d'une
autre façon. J'aimerais savoir comment le faire. Est-ce avec
Header(), et si oui, quel serait l'argument ? Puis-je le faire
avec un fsockopen ?
Mon application: un groupe de travail dont je fais partie voudrait
relire et archiver certaines pages d'un groupe d'environ 200 ou 300
sites, ceci de façon automatisée. Certains sites sont modifiés à
chaque jour, certains 2 fois par jour, certains 3 ou 4 fois par mois
(et pas nécessairement aux 7 ou 10 jours).
On ne veut archiver qu'une page ou deux par site, en plus de photos
éventuelles, mais il y a beaucoup de sites, d'où le besoin
d'automatiser.
Quelqu'un a une solution ? Je dois ré-expliquer avec plus de détails?
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
loufoque
Message d'origine de Denis Beauregard :
Avec des outils comme httrack, on peut faire la copie d'un site. Mais, ces outils ont des limites. Aussi, je me suis dit que je pourrais faire mon propre outil en utilisant PHP en soi.
Mon problème: si une page est lue grâce à des arguments GET, il suffit d'utiliser l'URL pour passer ces arguments; mais, si c'est un formulaire avec la méthode POST, il faut passer les arguments d'une autre façon. J'aimerais savoir comment le faire. Est-ce avec Header(), et si oui, quel serait l'argument ? Puis-je le faire avec un fsockopen ?
Mon application: un groupe de travail dont je fais partie voudrait relire et archiver certaines pages d'un groupe d'environ 200 ou 300 sites, ceci de façon automatisée. Certains sites sont modifiés à chaque jour, certains 2 fois par jour, certains 3 ou 4 fois par mois (et pas nécessairement aux 7 ou 10 jours).
On ne veut archiver qu'une page ou deux par site, en plus de photos éventuelles, mais il y a beaucoup de sites, d'où le besoin d'automatiser.
Quelqu'un a une solution ? Je dois ré-expliquer avec plus de détails?
Il faut utiliser les sockets (en php le plus simple c'est fsockopen()), se connecter au serveur HTTP et dialoguer selon le protocole HTTP 1.x (1.0 ou 1.1) On peut facilement trouver les spécifications sur le net avec google.
Message d'origine de Denis Beauregard :
Avec des outils comme httrack, on peut faire la copie d'un site.
Mais, ces outils ont des limites. Aussi, je me suis dit que je
pourrais faire mon propre outil en utilisant PHP en soi.
Mon problème: si une page est lue grâce à des arguments GET, il suffit
d'utiliser l'URL pour passer ces arguments; mais, si c'est un
formulaire avec la méthode POST, il faut passer les arguments d'une
autre façon. J'aimerais savoir comment le faire. Est-ce avec
Header(), et si oui, quel serait l'argument ? Puis-je le faire
avec un fsockopen ?
Mon application: un groupe de travail dont je fais partie voudrait
relire et archiver certaines pages d'un groupe d'environ 200 ou 300
sites, ceci de façon automatisée. Certains sites sont modifiés à
chaque jour, certains 2 fois par jour, certains 3 ou 4 fois par mois
(et pas nécessairement aux 7 ou 10 jours).
On ne veut archiver qu'une page ou deux par site, en plus de photos
éventuelles, mais il y a beaucoup de sites, d'où le besoin
d'automatiser.
Quelqu'un a une solution ? Je dois ré-expliquer avec plus de détails?
Il faut utiliser les sockets (en php le plus simple c'est fsockopen()),
se connecter au serveur HTTP et dialoguer selon le protocole HTTP 1.x
(1.0 ou 1.1)
On peut facilement trouver les spécifications sur le net avec google.
Avec des outils comme httrack, on peut faire la copie d'un site. Mais, ces outils ont des limites. Aussi, je me suis dit que je pourrais faire mon propre outil en utilisant PHP en soi.
Mon problème: si une page est lue grâce à des arguments GET, il suffit d'utiliser l'URL pour passer ces arguments; mais, si c'est un formulaire avec la méthode POST, il faut passer les arguments d'une autre façon. J'aimerais savoir comment le faire. Est-ce avec Header(), et si oui, quel serait l'argument ? Puis-je le faire avec un fsockopen ?
Mon application: un groupe de travail dont je fais partie voudrait relire et archiver certaines pages d'un groupe d'environ 200 ou 300 sites, ceci de façon automatisée. Certains sites sont modifiés à chaque jour, certains 2 fois par jour, certains 3 ou 4 fois par mois (et pas nécessairement aux 7 ou 10 jours).
On ne veut archiver qu'une page ou deux par site, en plus de photos éventuelles, mais il y a beaucoup de sites, d'où le besoin d'automatiser.
Quelqu'un a une solution ? Je dois ré-expliquer avec plus de détails?
Il faut utiliser les sockets (en php le plus simple c'est fsockopen()), se connecter au serveur HTTP et dialoguer selon le protocole HTTP 1.x (1.0 ou 1.1) On peut facilement trouver les spécifications sur le net avec google.
Bipede
"Denis Beauregard" a écrit dans le message de news:
Bonjour,
Avec des outils comme httrack, on peut faire la copie d'un site. Mais, ces outils ont des limites. Aussi, je me suis dit que je pourrais faire mon propre outil en utilisant PHP en soi.
Mon problème: si une page est lue grâce à des arguments GET, il suffit d'utiliser l'URL pour passer ces arguments; mais, si c'est un formulaire avec la méthode POST, il faut passer les arguments d'une autre façon. J'aimerais savoir comment le faire. Est-ce avec Header(), et si oui, quel serait l'argument ? Puis-je le faire avec un fsockopen ?
Cela ne se fait pas avec le header de la requète mais dans le corps du message...
Mon application: un groupe de travail dont je fais partie voudrait relire et archiver certaines pages d'un groupe d'environ 200 ou 300 sites, ceci de façon automatisée. Certains sites sont modifiés à chaque jour, certains 2 fois par jour, certains 3 ou 4 fois par mois (et pas nécessairement aux 7 ou 10 jours).
On ne veut archiver qu'une page ou deux par site, en plus de photos éventuelles, mais il y a beaucoup de sites, d'où le besoin d'automatiser.
Là ça ce complique étant donné que toute image apparaît sous forme de référence dans une page html le programme doit être capable de parser le code HTML pour charger également toute les références (images, styles, scripts...). Cela dit ce n'est pas impossible avec quelques regexp.
Quelqu'un a une solution ? Je dois ré-expliquer avec plus de détails?
J'imagine de la librairie Curl devrait être la façon la plus simple de faire une requète POST (si tu parviens à comprendre comment faire...). Sinon il reste la possibilité de tout faire "à la main" en utilisant une socket et dans ce cas il faut comprendre le format utilisé multipart/form-data. Celui-ci est assez bien décrit à l'adresse : http://www.w3.org/TR/html4/interact/forms.html#h-17.13.4
"Denis Beauregard" <no@nospam.com.invalid> a écrit dans le message de news:
uboa20lm6me1ug5oleifonoprjfku1k6ht@4ax.com...
Bonjour,
Avec des outils comme httrack, on peut faire la copie d'un site.
Mais, ces outils ont des limites. Aussi, je me suis dit que je
pourrais faire mon propre outil en utilisant PHP en soi.
Mon problème: si une page est lue grâce à des arguments GET, il suffit
d'utiliser l'URL pour passer ces arguments; mais, si c'est un
formulaire avec la méthode POST, il faut passer les arguments d'une
autre façon. J'aimerais savoir comment le faire. Est-ce avec
Header(), et si oui, quel serait l'argument ? Puis-je le faire
avec un fsockopen ?
Cela ne se fait pas avec le header de la requète mais dans le corps du
message...
Mon application: un groupe de travail dont je fais partie voudrait
relire et archiver certaines pages d'un groupe d'environ 200 ou 300
sites, ceci de façon automatisée. Certains sites sont modifiés à
chaque jour, certains 2 fois par jour, certains 3 ou 4 fois par mois
(et pas nécessairement aux 7 ou 10 jours).
On ne veut archiver qu'une page ou deux par site, en plus de photos
éventuelles, mais il y a beaucoup de sites, d'où le besoin
d'automatiser.
Là ça ce complique étant donné que toute image apparaît sous forme de
référence dans une page html le programme doit être capable de parser le
code HTML pour charger également toute les références (images, styles,
scripts...). Cela dit ce n'est pas impossible avec quelques regexp.
Quelqu'un a une solution ? Je dois ré-expliquer avec plus de détails?
J'imagine de la librairie Curl devrait être la façon la plus simple de faire
une requète POST (si tu parviens à comprendre comment faire...). Sinon il
reste la possibilité de tout faire "à la main" en utilisant une socket et
dans ce cas il faut comprendre le format utilisé multipart/form-data.
Celui-ci est assez bien décrit à l'adresse :
http://www.w3.org/TR/html4/interact/forms.html#h-17.13.4
"Denis Beauregard" a écrit dans le message de news:
Bonjour,
Avec des outils comme httrack, on peut faire la copie d'un site. Mais, ces outils ont des limites. Aussi, je me suis dit que je pourrais faire mon propre outil en utilisant PHP en soi.
Mon problème: si une page est lue grâce à des arguments GET, il suffit d'utiliser l'URL pour passer ces arguments; mais, si c'est un formulaire avec la méthode POST, il faut passer les arguments d'une autre façon. J'aimerais savoir comment le faire. Est-ce avec Header(), et si oui, quel serait l'argument ? Puis-je le faire avec un fsockopen ?
Cela ne se fait pas avec le header de la requète mais dans le corps du message...
Mon application: un groupe de travail dont je fais partie voudrait relire et archiver certaines pages d'un groupe d'environ 200 ou 300 sites, ceci de façon automatisée. Certains sites sont modifiés à chaque jour, certains 2 fois par jour, certains 3 ou 4 fois par mois (et pas nécessairement aux 7 ou 10 jours).
On ne veut archiver qu'une page ou deux par site, en plus de photos éventuelles, mais il y a beaucoup de sites, d'où le besoin d'automatiser.
Là ça ce complique étant donné que toute image apparaît sous forme de référence dans une page html le programme doit être capable de parser le code HTML pour charger également toute les références (images, styles, scripts...). Cela dit ce n'est pas impossible avec quelques regexp.
Quelqu'un a une solution ? Je dois ré-expliquer avec plus de détails?
J'imagine de la librairie Curl devrait être la façon la plus simple de faire une requète POST (si tu parviens à comprendre comment faire...). Sinon il reste la possibilité de tout faire "à la main" en utilisant une socket et dans ce cas il faut comprendre le format utilisé multipart/form-data. Celui-ci est assez bien décrit à l'adresse : http://www.w3.org/TR/html4/interact/forms.html#h-17.13.4
loufoque
Message d'origine de Bipede :
Là ça ce complique étant donné que toute image apparaît sous forme de référence dans une page html Faux.
Les données d'une image peuvent très bien se trouver dans le document (x)html.
Message d'origine de Bipede :
Là ça ce complique étant donné que toute image apparaît sous forme de
référence dans une page html
Faux.
Les données d'une image peuvent très bien se trouver dans le document
(x)html.