Sample code for 30+ languages & platforms
SQL Server

Socket Convenience Method: BuildHttpGetRequest

See more Socket/SSL/TLS Examples

Demonstrates the BuildHttpGetRequest method.

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
    -- The BuildHttpGetRequest method is a convenience method for building
    -- an HTTP GET request.  Normally, an application would use Chilkat's HTTP or REST API's
    -- for sending HTTP requests.  

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

    DECLARE @url nvarchar(4000)
    SELECT @url = 'http://www.chilkatsoft.com/test.asp?x=123&y=456'
    DECLARE @reqStr nvarchar(4000)
    EXEC sp_OAMethod @socket, 'BuildHttpGetRequest', @reqStr OUT, @url

    PRINT @reqStr

    PRINT '----'

    -- The result is:

    -- 	GET /test.asp?x=123&y=456 HTTP/1.1
    -- 	Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
    -- 	Connection: keep-alive
    -- 	User-Agent: Mozilla/5.0 (Windows NT 6.3; WOW64; rv:49.0) Gecko/20100101 Firefox/49.0
    -- 	Accept-Language: en-us,en;q=0.5
    -- 	Host: www.chilkatsoft.com

    -- The result is meant to look like a request from a browser.

    -- The same thing can be done using the Url and HttpRequest classes, but with more flexibility.

    DECLARE @req int
    EXEC @hr = sp_OACreate 'Chilkat.HttpRequest', @req OUT

    EXEC sp_OAMethod @req, 'SetFromUrl', NULL, @url
    EXEC sp_OAMethod @req, 'GenerateRequestText', @reqStr OUT

    PRINT @reqStr

    PRINT '----'

    -- The result is:

    -- 	GET /test.asp?x=123&y=456 HTTP/1.1
    -- 	Host: domain

    -- Add some headers..
    EXEC sp_OAMethod @req, 'AddHeader', NULL, 'Host', 'www.chilkatsoft.com'
    EXEC sp_OAMethod @req, 'AddHeader', NULL, 'Accept-Language', 'en-us,en;q=0.5'
    EXEC sp_OAMethod @req, 'AddHeader', NULL, 'Some-Other-Header', '123456'

    EXEC sp_OAMethod @req, 'GenerateRequestText', @reqStr OUT

    PRINT @reqStr

    -- The result is now:

    -- 	GET /test.asp?x=123&y=456 HTTP/1.1
    -- 	Host: www.chilkatsoft.com
    -- 	Accept-Language: en-us,en;q=0.5
    -- 	Some-Other-Header: 123456

    EXEC @hr = sp_OADestroy @socket
    EXEC @hr = sp_OADestroy @req


END
GO