Here's another one without using any fancy IE or XML stuff. Just plain OS functions...
CLEAR ? GetURLContent("http://www.atoutfox.org/ip.asp", .T.) ? GetURLContent("http://ipecho.net/plain")
************************************************************ FUNCTION GetURLContent ************************************************************ LPARAMETERS cURL, lBodyOnly
LOCAL cFile, cResult cFile = REPLICATE(CHR(0), 260) cResult = ""
DECLARE INTEGER URLDownloadToCacheFile IN urlmon; INTEGER lpUnkcaller, STRING szURL, STRING @szFileName,; INTEGER dwBufLength, INTEGER dwReserved, INTEGER pBSC
IF URLDownloadToCacheFile(0, cURL, @cFile, LEN(cFile), 0,0) = 0 cFile = RTRIM(cFile) cResult = FILETOSTR(cFile) DELETE FILE (cFile) ENDIF
IF lBodyOnly cResult = STREXTRACT(cResult, "<body>", "</body>",1,1) ENDIF
RETURN cResult
[excessive quoting removed by server]
Excellent!!! That works too. Thanks, wOOdy!
On 6/17/2020 4:48 PM, Jürgen Wondzinski wrote:
Here's another one without using any fancy IE or XML stuff. Just plain OS functions...
CLEAR ? GetURLContent("http://www.atoutfox.org/ip.asp", .T.) ? GetURLContent("http://ipecho.net/plain")
FUNCTION GetURLContent
LPARAMETERS cURL, lBodyOnly
LOCAL cFile, cResult cFile = REPLICATE(CHR(0), 260) cResult = ""
DECLARE INTEGER URLDownloadToCacheFile IN urlmon; INTEGER lpUnkcaller, STRING szURL, STRING @szFileName,; INTEGER dwBufLength, INTEGER dwReserved, INTEGER pBSC
IF URLDownloadToCacheFile(0, cURL, @cFile, LEN(cFile), 0,0) = 0 cFile = RTRIM(cFile) cResult = FILETOSTR(cFile) DELETE FILE (cFile) ENDIF
IF lBodyOnly cResult = STREXTRACT(cResult, "<body>", "</body>",1,1) ENDIF
RETURN cResult
[excessive quoting removed by server]