1

在我的 Informix 4GL 程序中,我有一个输入字段,用户可以在其中插入 URL,然后提要通过脚本发送到 Web。如何在输入时验证 URL,以确保它是实时链接?我可以打个电话看看我是否收到任何错误信息吗?

4

2 回答 2

2
于 2015-05-15T22:26:36.073 回答
0

As Jonathan said "URLs didn't exist when I4GL was invented, amongst other things". What you will find is that the products that have grown to superceed Informix-4gl such as FourJs Genero will cater for new technologies and other things invented after I4GL.

Using FourJs Genero, the code below will do what you are after using the Informix 4gl syntax you are familiar with

IMPORT com
MAIN

    -- Should succeed and display 1
    DISPLAY validate_url("http://www.google.com")
    DISPLAY validate_url("http://www.4js.com/online_documentation/fjs-fgl-manual-html/index.html#c_fgl_nf.html") -- link to some of the features added to I4GL by Genero

    -- Should fail and display 0
    DISPLAY validate_url("http://www.google.com/testing")
    DISPLAY validate_url("http://www.google2.com")
END MAIN

FUNCTION validate_url(url)
DEFINE url STRING
DEFINE req com.HttpRequest
DEFINE resp com.HttpResponse

    -- Returns TRUE if http request to a URL returns 200
    TRY
        LET req = com.HttpRequest.create(url)
        CALL req.doRequest()
        LET resp = req.getResponse()
        IF resp.getStatusCode() = 200 THEN
            RETURN TRUE
        END IF
        -- May want to handle other HTTP status codes
    CATCH
        -- May want to capture case if not connected to internet etc
    END TRY
    RETURN FALSE 
END FUNCTION
于 2015-06-10T22:01:54.043 回答