HomeAdd Ons Review: Clever Internet .NET Suite 4.0
Review: Clever Internet .NET Suite 4.0 ByJim Mischel 2005-03-24
Article Rating: / 0
Rate This Article:
Add This Article To:
These components simplify the process of parsing e-mail messages, MIME encodings, and HTML documents. It does what it promises... and it's reasonably priced, too!
These days, plenty of my applications interact with Internet content. I might need to extract information from e-mail messages, or scrape data off a Web page. Sure, I could it myself — but why write code when someone else has figured out the process already?
Clever Component's Clever Internet .NET Suite 4.0 is a set of components that simplify the process of parsing e-mail messages, MIME encodings, and HTML documents. And, I'm happy to say, it does a fine job.
ADVERTISEMENT
The .NET Suite component set includes:
MessageParser: Encapsulates a complete mail message as described by RFC 822 and RFC 1036. It allows you to parse or construct mail messages, including those with multiple MIME attachments as described by RFC 2045.
SmimeParser: Implements the S/MIME standard for encryption and decryption using Public Key Cryptography Standards (PCKS). Smimeparsef also can be used to generate and verify RSA signatures.
RequestBuilder: Simplifies creation of request data to be sent to a Web server with the POST or GET methods.
HtmlParser: Parses HTML documents or fragments, allowing you to extract tags, forms, images, links, and other elements.
Encoder: Encodes and decodes strings in quoted printable, base 64, and UUEncode formats.
These components are a subset of the components found in the company's Clever Internet ActiveX Suite. That suite (also available in a VCL version for Delphi) contains communications components for HTTP, FTP, and other protocols, as well as the parsing components. Although you could use the ActiveX suite with .NET programs, the package does not include any .NET integration assemblies or examples. That's a shame, as the ActiveX Suite's components are much more versatile than the standard .NET communications components.
The Components
I recently wrote code to do some simple HTML parsing, so I first tried out the HTML parser demo, and was quite favorably impressed. Creating an HtmlParser object instance and parsing a document requires just a few lines of code. After parsing, you have full access, through the HtmlParser object, to the forms, images, links, and tags in the document. I haven't tested it thoroughly, but the component appears to work very well — certainly better than the code I had hacked together. This component alone is probably worth the entire price of the package.
The MessageParser example program shows how to encode an e-mail message. The sample then stores the message in the Windows SMTP Server "pickup" directory, so that the SMTP server can send it. Since the example lets you specify the destination directory, it's easy enough to store the message where you can get to it for testing.
It took very little code to create a program that reads and parses e-mail messages, including extracting the attachments. As usual, the hard part was the user interface for specifying where to store everything. If you've ever tried to parse an e-mail message before — even one without attachments — you'll understand how valuable this component is.
The RequestBuilder class sounds kind of silly at first: why would you need a class to build a request for you? But take a look at what it does, and you'll never want to go back to building your own POST or GET requests. RequestBuilder takes care of URL encoding stuff, escaping special characters, separating the parameters, and all the other minutiae involved in constructing a request. Sample programs show how to format form posts and submit files and XML data.
The Smime demo shows how to build, sign, and encrypt an e-mail message using the Smime component. I don't have a digital certificate for secure communications, and although I know it's possible to create one, I didn't go to the trouble for this review. If it works, and I have no reason to think that it wouldn't, the Smime component would save a developer a huge amount of time trying to implement secure e-mail communications. Creating and sending a secure mail message with Smime is no more difficult than sending a regular message with MessageParser. It just involves a couple more steps.
The Encoder class is the simplest of the components, and the sample program shows just how easy it is to encode or decode a file using any of the supported encoding methods. The .NET Framework's Convert class can encode and decode base 64, doing so is a little more difficult than using the Clever Internet Suite's Encoder class. In addition, Encoder supports UUEncode and quoted printable mail formats, which are not supported by the .NET Framework.
In The Box
In addition to the distribution assembly that is placed in a folder under Program Files\Common Files, the installation program places the documentation and sample programs in the install location that you specify.
Documentation is a single Microsoft HTML Help File (.chm extension) that includes the license agreement, a brief overview, and the class reference. The reference information has a few simple examples, but no detailed usage discussions. Reference information supplies C# and Visual Basic descriptions of properties, methods, and events.
The package includes eight sample programs written in C# that show how to parse HTML, create e-mail messages, encode and decode data, and submit data in several forms. The sample programs are quite good, showing the basics of how to use each of the components.
All in all, I found the Clever Internet Suite components to be very useful. They appear to be complete implementations, the reference documentation is thorough, and the sample programs show how easy they are to use. I feel comfortable recommending these components to any developer, especially given the very reasonable license fee. I only hope that new versions of the Suite appear soon with some of the components found in the ActiveX suite.
Product: Clever Components Clever Internet .NET Suite version 4.0 Platform: .NET Price: $59.99 U.S. (discounts for multiple licenses); $139.19 U.S. (site license)
Redistribution: License includes single-seat developer license, and royalty free right to redistribute the component assembly.