Chilkat
HOME
Android™
ASP
Visual Basic
VB.NET
C#
iOS (IPhone)
Objective-C
C++
C
MFC
Delphi
FoxPro
Java
Perl
PHP Extension
PHP ActiveX
Python
PowerShell
Ruby
SQL Server
VBScript
|
(SQL Server) Adding Cookies to an HTTP RequestDemonstrates how to add one or more cookies to an HTTP request. For Chilkat HTTP methods that use an HTTP request object, such as SynchronousRequest or PostUrlEncoded, cookies are added by calling the AddHeader method on the request object. For Chilkat HTTP methods that do not use an HTTP request object, such as QuickGetStr, cookies are added by calling AddQuickHeader. CREATE PROCEDURE ChilkatSample AS BEGIN DECLARE @hr int DECLARE @iTmp0 int DECLARE @sTmp0 nvarchar(4000) DECLARE @http int EXEC @hr = sp_OACreate 'Chilkat.Http', @http OUT IF @hr <> 0 BEGIN PRINT 'Failed to create ActiveX component' RETURN END DECLARE @success int -- Any string unlocks the component for the 1st 30-days. EXEC sp_OAMethod @http, 'UnlockComponent', @success OUT, 'Anything for 30-day trial' IF @success <> 1 BEGIN EXEC sp_OAGetProperty @http, 'LastErrorText', @sTmp0 OUT PRINT @sTmp0 RETURN END -- The Cookie header field has this format: -- Cookie: name1=value1 [; name2=value2] ... -- Build an HTTP POST request: DECLARE @request int EXEC @hr = sp_OACreate 'Chilkat.HttpRequest', @request OUT IF @hr <> 0 BEGIN PRINT 'Failed to create ActiveX component' RETURN END EXEC sp_OAMethod @request, 'SetFromUrl', NULL, 'http://www.chilkatsoft.com/echoPost.asp' EXEC sp_OASetProperty @request, 'HttpVerb', 'POST' EXEC sp_OAMethod @request, 'AddParam', NULL, 'param1', 'value1' EXEC sp_OAMethod @request, 'AddParam', NULL, 'param2', 'value2' -- To add cookies to any HTTP request sent by a Chilkat HTTP method -- that uses an HTTP request object, add the cookies to the -- request object by calling AddHeader. -- Add two cookies: EXEC sp_OAMethod @request, 'AddHeader', NULL, 'Cookie', 'user="mary"; city="Chicago"' -- Send the HTTP POST. -- (The cookies are sent as part of the HTTP header.) DECLARE @response int DECLARE @domain nvarchar(4000) SELECT @domain = 'www.chilkatsoft.com' DECLARE @port int SELECT @port = 80 DECLARE @ssl int SELECT @ssl = 0 EXEC sp_OAMethod @http, 'SynchronousRequest', @response OUT, @domain, @port, @ssl, @request IF @response Is NULL BEGIN EXEC sp_OAGetProperty @http, 'LastErrorText', @sTmp0 OUT PRINT @sTmp0 RETURN END -- Display the HTML body of the response. EXEC sp_OAGetProperty @response, 'StatusCode', @sTmp0 OUT IF @sTmp0 = 200 BEGIN -- Show the last HTTP request header sent, which should include -- our cookies... EXEC sp_OAGetProperty @http, 'LastHeader', @sTmp0 OUT PRINT @sTmp0 END ELSE BEGIN EXEC sp_OAGetProperty @response, 'StatusCode', @iTmp0 OUT PRINT 'HTTP Response Status = ' + @iTmp0 END PRINT '---------------------' -- Some Chilkat HTTP methods do not use an HTTP request object. -- For these methods, such as for QuickGetStr, cookies (or any HTTP request header) -- are added by calling AddQuickHeader. EXEC sp_OAMethod @http, 'AddQuickHeader', NULL, 'Cookie', 'user="mary"; city="Chicago"' DECLARE @html nvarchar(4000) EXEC sp_OAMethod @http, 'QuickGetStr', @html OUT, 'http://www.w3.org/' IF @html Is NULL BEGIN EXEC sp_OAGetProperty @http, 'LastErrorText', @sTmp0 OUT PRINT @sTmp0 END ELSE BEGIN -- Show the last HTTP request header sent, which should include -- our cookies... EXEC sp_OAGetProperty @http, 'LastHeader', @sTmp0 OUT PRINT @sTmp0 END END GO |
© 2000-2010 Chilkat Software, Inc. All Rights Reserved.