Sample code for 30+ languages & platforms
SQL Server

Parse a URL into its Component Parts

See more HTTP Examples

Demonstrates how to parse a URL into it's component parts.

Chilkat SQL Server Downloads

SQL Server
-- Important: See this note about string length limitations for strings returned by sp_OAMethod calls.
--
CREATE PROCEDURE ChilkatSample
AS
BEGIN
    DECLARE @hr int
    DECLARE @iTmp0 int
    -- Important: Do not use nvarchar(max).  See the warning about using nvarchar(max).
    DECLARE @sTmp0 nvarchar(4000)
    DECLARE @success int
    SELECT @success = 0

    DECLARE @url int
    EXEC @hr = sp_OACreate 'Chilkat.Url', @url OUT
    IF @hr <> 0
    BEGIN
        PRINT 'Failed to create ActiveX component'
        RETURN
    END

    DECLARE @urlStr nvarchar(4000)
    SELECT @urlStr = 'https://www.amazon.com/Anarchy-State-Utopia-Robert-Nozick/dp/0465051006/ref=sr_1_1?s=books&ie=UTF8&qid=1430344305&sr=1-1&keywords=nozick#frag123'

    EXEC sp_OAMethod @url, 'ParseUrl', @success OUT, @urlStr
    -- Assume success..


    PRINT 'URL: ' + @urlStr

    EXEC sp_OAGetProperty @url, 'Host', @sTmp0 OUT
    PRINT 'Host: ' + @sTmp0

    EXEC sp_OAGetProperty @url, 'Port', @iTmp0 OUT
    PRINT 'Port: ' + @iTmp0

    EXEC sp_OAGetProperty @url, 'HostType', @sTmp0 OUT
    PRINT 'HostType: ' + @sTmp0

    EXEC sp_OAGetProperty @url, 'Ssl', @iTmp0 OUT
    PRINT 'Ssl: ' + @iTmp0

    EXEC sp_OAGetProperty @url, 'Path', @sTmp0 OUT
    PRINT 'Path: ' + @sTmp0

    EXEC sp_OAGetProperty @url, 'Query', @sTmp0 OUT
    PRINT 'Query: ' + @sTmp0

    EXEC sp_OAGetProperty @url, 'Frag', @sTmp0 OUT
    PRINT 'Frag: ' + @sTmp0

    PRINT '----'

    SELECT @urlStr = 'http://matt:secret@www.chilkatsoft.com:8080/somepath.asp?test=123&size=2'

    EXEC sp_OAMethod @url, 'ParseUrl', @success OUT, @urlStr
    -- Assume success..


    PRINT 'URL: ' + @urlStr

    EXEC sp_OAGetProperty @url, 'Host', @sTmp0 OUT
    PRINT 'Host: ' + @sTmp0

    EXEC sp_OAGetProperty @url, 'Port', @iTmp0 OUT
    PRINT 'Port: ' + @iTmp0

    EXEC sp_OAGetProperty @url, 'HostType', @sTmp0 OUT
    PRINT 'HostType: ' + @sTmp0

    EXEC sp_OAGetProperty @url, 'Ssl', @iTmp0 OUT
    PRINT 'Ssl: ' + @iTmp0

    EXEC sp_OAGetProperty @url, 'Login', @sTmp0 OUT
    PRINT 'Login: ' + @sTmp0

    EXEC sp_OAGetProperty @url, 'Password', @sTmp0 OUT
    PRINT 'Password: ' + @sTmp0

    EXEC sp_OAGetProperty @url, 'Path', @sTmp0 OUT
    PRINT 'Path: ' + @sTmp0

    EXEC sp_OAGetProperty @url, 'Query', @sTmp0 OUT
    PRINT 'Query: ' + @sTmp0

    EXEC sp_OAGetProperty @url, 'Frag', @sTmp0 OUT
    PRINT 'Frag: ' + @sTmp0

    EXEC @hr = sp_OADestroy @url


END
GO