Not yet connected to web server. Need to establish connection.

You may see the following message in the Chilkat HTTP component’s LastErrorText property: “Not yet connected to web server. Need to establish connection.” The presence of content in LastErrorText does not indicate an error.  Errors are generally indicated by either false/0 return values, or NULL reference return values.  The LastErrorText (or LastErrorHtml / LastErrorXml) will contain information about what transpired […]

XML “child” Defined

This post clarifies the meaning of “child”. An XML node may have 0 or more child nodes. A child node is a direct descendent of the parent (i.e. it is one level below the parent node). Methods such as NumChildrenHavingTag will return the number of direct descendents (i.e. nodes that are exactly one level below the calling node) that match […]

Google that Error Message

Debugging Hint: In any programming language, in any environment, regardless of whether it’s a Chilkat error message or something from Microsoft, if you don’t understand the error message try Googling it. For example: Type this into Google: “Object Variable or With Block Variable Not Set” (without the quotes) The 1st result provides all the information you’ll need to know about […]

HTTP FollowRedirects and META Refresh

The Chilkat HTTP component’s FollowRedirects property controls whether 301 and 302 HTTP response statuses (i.e. redirect responses) are automatically followed. Pages returning a normal 200 HTTP response status with a META refresh embedded within the HTML are not automatically followed. More about META Refresh: Meta refresh is a method of instructing a web browser to automatically refresh the current web […]

Zip with Unicode Filenames (utf-8)

New examples demonstrating how to create a Zip archive using Unicode filenames: ASP: Create Zip with utf-8 Filenames (Unicode filenames) SQL Server: Create Zip with utf-8 Filenames (Unicode filenames) C#: Create Zip with utf-8 Filenames (Unicode filenames) C++: Create Zip with utf-8 Filenames (Unicode filenames) MFC: Create Zip with utf-8 Filenames (Unicode filenames) C: Create Zip with utf-8 Filenames (Unicode […]

IMAP SSH Tunneling (Port Forwarding)

These new examples demonstrate how to use IMAP in an SSH tunnel: ASP: IMAP SSH Tunneling (Port Forwarding) SQL Server: IMAP SSH Tunneling (Port Forwarding) C#: IMAP SSH Tunneling (Port Forwarding) C++: IMAP SSH Tunneling (Port Forwarding) MFC: IMAP SSH Tunneling (Port Forwarding) C: IMAP SSH Tunneling (Port Forwarding) Delphi: IMAP SSH Tunneling (Port Forwarding) Visual FoxPro: IMAP SSH Tunneling […]

How to Encrypt URL Query Parameters

Here’s a new example: ASP: Encrypt URL Query Parameters SQL Server: Encrypt URL Query Parameters C#: Encrypt URL Query Parameters MFC: Encrypt URL Query Parameters Delphi: Encrypt URL Query Parameters Visual FoxPro: Encrypt URL Query Parameters Java: Encrypt URL Query Parameters Perl: Encrypt URL Query Parameters PHP: Encrypt URL Query Parameters Python: Encrypt URL Query Parameters Ruby: Encrypt URL Query […]

C++ Upload to Amazon S3

Here’s an example of uploading a file via a POST to Amazon S3: void TestPostAmazonS3Upload(void) { CkHttpRequest req; CkHttp http; bool success; // Any string unlocks the component for the 1st 30-days. success = http.UnlockComponent(“Anything”); if (success != true) { printf(“%s\n”,http.lastErrorText()); return; } req.SetFromUrl(“http://something.s3.amazonaws.com/”); req.UseUpload(); req.AddParam(“key”,”file1005.dat”); req.AddParam(“AWSAccessKeyId”,”AA6SXJPBBBBGSZHEJ6ZZ”); req.AddParam(“acl”,”private”); req.AddParam(“success_action_redirect”,”http://www.something.com/blahblah.php”); req.AddParam(“policy”,”abcdefhijmF0aW9uIjogIjIwMDktMTItMDFUMTI6MDA6MDAuMDAwWiIsImNvbmRpdGlvbnMiOiBbeyJidWNrZXQiOiAidHlwaG9vbmRyaXZlIn0sWyJzdGFydHMtd2l0aCIsIiRrZXkiLCIiXSx7ImFjbCI6ICJwcml2YXRlIn0seyJzdWNjZXNzX2FjdGlvbl9yZWRpcmVjdCI6ICJodHRwOi8vd3d3LnR5cGhvb250b29scy5jb20vdHlwaG9vbmRyaXZlc3RvcC5waHAifSxbInN0YXJ0cy13aXRoIiwiJENvbnRlbnQtVHlwZSIsIiJdXX0=”); req.AddParam(“signature”,”abcdefwFQPpsAAAuCUY2m7g/kkw=”); req.AddParam(“Content-Type”,”application/octet-stream”); // The file must be added last for […]