ATOUTFOX
COMMUNAUTÉ FRANCOPHONE DES PROFESSIONNELS FOXPRO
Visual FoxPro : le développement durable

Le WinHTTP avec Microsoft Visual FoxPro.   



L'auteur

Mike Gagnon
Canada Canada
Membre Simple
# 0000000025
enregistré le 14/10/2004

Gagnon Mike
Pte Claire Quebec - Canada
de la société MCRG Software
Fiche personnelle


Note des membres
pas de note

Contributions > 13 - Web

Le WinHTTP avec Microsoft Visual FoxPro.
# 0000000081
ajouté le 19/11/2004 14:53:53 et modifié le 16/06/2008
consulté 6994 fois
Niveau initié

Version(s) Foxpro :
VFP 9.0
VFP 8.0
VFP 7.0

Fichier MHT :
Mettre en plein écran


Commentaires
le 02/06/2008, ybenam a écrit :
Mike
J'ai essayé de télécharger une autre image (http://www.microsoft.com/library/homepage/images/ms-banner.gif) que celle de VFP8 (qui nest plus disponible!) avec VFP6.01ère édition.
Tout se passe bien jusqu'à:

Strtofile(WinHttpReq.ResponseBody,'c:\FOXPRO.JPG')
cette fonction est propre à VFP mais quelle est la différence entre celle de VFP6.0 et celle de vfp7/8 ?Pourqoui renvoie t elle une erreur avec VFP6.0 ?
SUR VFP6.0 'WinHttpReq.ResponseBody' doit être obligatoirement une expression caractère.
J'ai testé les data reçue comme suit:
x= WinHttpReq.ResponseBody
messagebox ( vartype(x)+chr(13)+"x="+str(x)+"*"+chr(13)+"len="+str(len(str(x)) ) )
le type est numérique ,et le résultat est comme suit :
N
x= 71
len=10
En principe le data reçu est une matrice de bite comme le dit MSDN :
[Since ResponseBody returns an array of unsigned bytes, the data must be received by a byte array]

Aurait tu une explication ?
merci

le 06/06/2008, Mike Gagnon a écrit :
Moi j'obtiens une erreur 404 en testant avec cette image. Donc l'image n'est plus la.
Mais en changent d'image avec VFP 9 cela fonctionne bien.
Le response body contient l<information Hex de l'image si il y a une image dans le style OhFFD8 etc...
Mais le code est bien indiqué qu'il fonctionne avec VFp7,8,9. Avec VFP6 ResponseBody retourne une array qu'il faut traiter differemment.

le 07/06/2008, ybenam a écrit :
Merci Mike
J'ai réglé ce problème avec une méthode qui m'a particulièrement plu par sa fiabilité et sa rapidité.Je t'invite à voir mon article # 0000000609 publié c ejour même
chez Atoutfox.
Bonsoir (peut être bonjour chez toi!).

le 07/06/2008, Mike Gagnon a écrit :
Je crois que l'on s'éloigne de l'utilité de WinHTTP. Automatiser Internet Exporer pour télécharger des images sur des site internet est une chose, mais télécharger des fichiers de sites sécurisés est un autre chose. Ta solution est viable pour des sites pubilques. Mais que se passe t-il lors des certificats et des crédentiels?
Je ne vois pas vraiment la comparaison.

le 15/06/2008, ybenam a écrit :
*Après maintes recherches......
*responsebody utilisée en vfp6.0 retourne une matrice de bytes de l'objet à télécharger.pour les versions ulétrieures,elle retourne un variant(vfp9)
*Objet de cet article =Traiter la matrice 'responsebody' pour avoir le résultat effectif du téléchargement et éviter le retour d'erreur VFP6.0

ImageFile = "c:\yimage.jpg"
URL = "http://www.atoutfox.org/images/foxpro.jpg"
****************
xml = CreateObject("Microsoft.XMLHTTP")
xml.Open("GET", URL, .f.)
xml.Send
************************************
matrice = xml.responsebody
xx=""
for i = 1 to alen(matrice)
xx=xx+chr(matrice[m.i])
next
&&On a alors une chaîne de caractères normalement pris en charge par filetostr de VFP6.0
=strtofile(xx,imagefile)
***********************************
run/n "mspaint" c:\yimage.jpg" && CQFD.... effet immédiat !

le 15/06/2008, Mike Gagnon a écrit :
Après maintes recherches......
Oui j'ai vu la reponse de suhas
http://www.foxite.com/archives/0000178546.htm

le 16/06/2008, ybenam a écrit :
Une seule limitation de taille cependant ,on ne peut dépasser 65000 enregistrements d'un tableau pour le téléchargement !(capacité de vfp6.0)

Les miracles du 21è siècle mon cher Mike, viendront du sud ! Ils seront peut être indiens ou chinois !
Les civilisations ne sont jamais éternelles,elles atteignent leur apogée et s'éteignent (Ibn Khaldoun discours sur l'histoire universelle).
Nul ne détient la vérité même si dans son imaginaire ,il a des idées préconçues...
si tu vois ce que je veux dire ....

le 16/06/2008, Mike Gagnon a écrit :
Limite de l'array de VFP6 à 65000 probablement.

Publicité

Les pubs en cours :

www.atoutfox.org - Site de la Communauté Francophone des Professionnels FoxPro - v3.4.0 - © 2004-2019.
Cette page est générée par un composant COM+ développé en Visual FoxPro 9.0-SP2-HF3