Plateforme Level Extreme
Abonnement
Profil corporatif
Produits & Services
Support
Légal
English
How to get a jpg from a website
Message
De
26/08/2011 11:18:12
 
 
À
26/08/2011 11:14:06
Information générale
Forum:
Visual FoxPro
Catégorie:
COM/DCOM et OLE Automation
Versions des environnements
Visual FoxPro:
VFP 9 SP2
OS:
Windows 7
Network:
Windows 2008 Server
Database:
Visual FoxPro
Divers
Thread ID:
01521872
Message ID:
01521900
Vues:
48
Doesn't the gaptcha have a URL? I'm pretty sure that it does.

>Thank you for your quick reply, bu sorry, it is not as 'easy' as that.
>
>I want to download a captcha from google and present it in a vfp-form, but the captcha is not so easily isolated by automation. Interactively I can just right-click and can save the image, but I don't know how to do that automatically.
>Google-captcha's do not have normal URLs.
>
>>If you know the URL, you can use GetDataFromURL
>>Strtofile(GetDataFromURL('yourURL','yourfilename.jpg')
>>
>>Function GetDataFromURL
>>LPARAMETERS pcUrlName
>>DECLARE INTEGER InternetOpen IN wininet.DLL STRING sAgent, ;
>>      INTEGER lAccessType, STRING sProxyName, ;
>>      STRING sProxyBypass, INTEGER lFlags
>>
>>DECLARE INTEGER InternetOpenUrl IN wininet.DLL ;
>>   INTEGER hInternetSession, STRING sUrl, STRING sHeaders,;
>>   INTEGER lHeadersLength, INTEGER lFlags, INTEGER lContext
>>
>>DECLARE INTEGER InternetReadFile IN wininet.DLL INTEGER hfile, ;
>>      STRING @sBuffer, INTEGER lNumberofBytesToRead, INTEGER @lBytesRead
>>
>>DECLARE short InternetCloseHandle IN wininet.DLL INTEGER hInst
>>
>>#DEFINE INTERNET_OPEN_TYPE_PRECONFIG 0
>>#DEFINE INTERNET_OPEN_TYPE_DIRECT 1
>>#DEFINE INTERNET_OPEN_TYPE_PROXY 3
>>#DEFINE SYNCHRONOUS 0
>>#DEFINE INTERNET_FLAG_RELOAD 2147483648
>>#DEFINE CR CHR(13)
>>
>>local lsAgent, lhInternetSession, lhUrlFile, llOk, lnOk, lcRetVal, lcReadBuffer, lnBytesRead
>>
>>* what application is using Internet services?
>>lsAgent = "VPF 5.0"
>>
>>lhInternetSession = InternetOpen( lsAgent, INTERNET_OPEN_TYPE_PRECONFIG, ;
>>      '', '', SYNCHRONOUS)
>>
>>* debugging line - uncomment to see session handle
>>* WAIT WINDOW "Internet session handle: " + LTRIM(STR(hInternetSession))
>>
>>IF lhInternetSession = 0
>>   WAIT WINDOW "Internet session cannot be established" TIME 2
>>   RETURN .null.
>>ENDIF
>>
>>lhUrlFile = InternetOpenUrl( lhInternetSession, pcUrlName, '', 0, ;
>>                             INTERNET_FLAG_RELOAD, 0)
>>
>>* debugging line - uncomment to see URL handle
>>* WAIT WINDOW "URL Handle: " + LTRIM(STR(hUrlFile))
>>
>>IF lhUrlFile = 0
>>   WAIT WINDOW "URL cannot be opened" Timeout 5
>>   RETURN .null.
>>ENDIF
>>
>>lcRetVal = ""
>>llOk = .t.
>>
>>DO WHILE llOK
>>   * set aside a big buffer
>>   lsReadBuffer = SPACE(32767)
>>   lnBytesRead = 0
>>   lnOK = InternetReadFile( lhUrlFile, @lsReadBuffer, LEN(lsReadBuffer), @lnBytesRead)
>>
>>   if ( lnBytesRead > 0 )
>>      lcRetVal = lcRetVal + left( lsReadBuffer, lnBytesRead )
>>   endif
>>
>>   * error trap - either a read failure or read past eof()
>>   llOk = ( lnOK = 1 ) and ( lnBytesRead > 0 )
>>ENDDO
>>
>>* close all the handles we opened
>>InternetCloseHandle( lhUrlFile )
>>InternetCloseHandle( lhInternetSession )
>>
>>* return the URL contents
>>RETURN lcRetVal
>>
>>
>>>Hello everybody
>>>
>>>I automate IE9, by:
>>>
>>>
>>>goIE = CREATEOBJECT("InternetExplorer.Application")
>>>
>>>
>>>and by goIE.navigate() I navigate to a URL. There is a jpg-image there, which I want to get on my local disk. I do not have the slightest idea...
>>>Any help appreciated!
>>>
>>>TIA
>>>
>>>Lennert
Précédent
Suivant
Répondre
Fil
Voir

Click here to load this message in the networking platform