SQL Server
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
-- 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