Chilkat Examples

ChilkatHOMEAndroid™Classic ASPCC++C#Mono C#.NET Core C#C# UWP/WinRTDataFlexDelphi ActiveXDelphi DLLVisual FoxProJavaLianjaMFCObjective-CPerlPHP ActiveXPHP ExtensionPowerBuilderPowerShellPureBasicPythonRubySQL ServerSwiftTclUnicode CUnicode C++Visual Basic 6.0VB.NETVB.NET UWP/WinRTVBScriptXojo PluginNode.jsExcel

Perl Examples


ASN.1
Amazon S3
Amazon S3 (new)
Amazon SES
Amazon SNS
Amazon SQS
Async
Azure Cloud Storage
Azure Service Bus
Bounced Email
CSR
CSV
Certificates
Compression
DKIM / DomainKey
DSA
Diffie-Hellman
Digital Signatures
Dropbox
ECC
Email Object
Encryption
FTP
Facebook
Firebase
GeoOp
Google APIs
Google Calendar
Google Cloud Storage
Google Drive
Gzip
HTML-to-XML/Text
HTTP
HTTP Misc
IMAP
JSON
JSON Web Encryption (JWE)
JSON Web Signatures (JWS)
JSON Web Token (JWT)

Java KeyStore (JKS)
MHT / HTML Email
MIME
Microsoft Graph
NTLM
OAuth1
OAuth2
OneDrive
OpenSSL
Outlook
PEM
PFX/P12
POP3
PRNG
PayPal
Peoplevox
QuickBooks
REST
RSA Encryption
SCP
SFTP
SMTP
SSH
SSH Key
SSH Tunnel
SharePoint
Shopify
Socket/SSL/TLS
Spider
Stream
Stripe
Tar Archive
Twitter
VoiceBase
Walmart
XML
XML Digital Signatures
XMP
Xero
Zip
curl
eBay

 

 

 

(Perl) Debugging with Socket Session Logging

Debugging with socket session logging.

The Chilkat Socket component provides properties for keeping a session log making it possible to see the exact bytes received and sent on a TCP/IP or SSL connection. To enable session logging, set the KeepSessionLog property = 1. The SessionLogEncoding property controls how binary, non-printable bytes are represented in the log. There are two possible settings: Possible values are "esc" and "hex". The default value is "esc".

When set to "hex", the bytes are encoded as a hexidecimalized string. The "esc" encoding is a C-string like encoding, and is more compact than hex if most of the data to be logged is text. Printable us-ascii chars are unmodified. Common "C" control chars are represented as "\r", "\n", "\t", etc. Non-printable and byte values greater than 0x80 are escaped using a backslash and hex encoding: \xHH. Certain printable chars are backslashed: SPACE, double-quote, single-quote, etc.

Chilkat Perl Downloads

Perl Module for Windows, Linux, MAC OS X, Solaris, and FreeBSD

use chilkat();

$socket = chilkat::CkSocket->new();

$success = $socket->UnlockComponent("Anything for 30-day trial");
if ($success != 1) {
    print $socket->lastErrorText() . "\r\n";
    exit;
}

#  Enable session logging:
$socket->put_KeepSessionLog(1);
$socket->put_SessionLogEncoding("esc");

#  To demonstrate session logging, we'll connect to an
#  HTTP server and download the HTTP response header:
$ssl = 0;
$maxWaitMillisec = 20000;
$success = $socket->Connect("www.chilkatsoft.com",80,$ssl,$maxWaitMillisec);
if ($success != 1) {
    print $socket->lastErrorText() . "\r\n";
    exit;
}

#  Set maximum timeouts for reading an writing (in millisec)
$socket->put_MaxReadIdleMs(10000);
$socket->put_MaxSendIdleMs(10000);

#  The socket component includes a BuildHttpGetRequest
#  method for convenience. Build a GET and send it to
#  the web server:

$httpGet = $socket->buildHttpGetRequest("http://www.chilkatsoft.com/");

#  Send it...
$success = $socket->SendString($httpGet);
if ($success != 1) {
    print $socket->lastErrorText() . "\r\n";
    exit;
}

#  Read the response up to the first double CRLF:
$httpHeader = $socket->receiveUntilMatch("\r\n\r\n");
if ($socket->get_LastMethodSuccess() != 1) {
    print $socket->lastErrorText() . "\r\n";
    exit;
}

#  Close the connection with the server
#  Wait a max of 20 seconds (20000 millsec)
$success = $socket->Close(20000);

#  Display the session log:
print $socket->sessionLog() . "\r\n";

#  Show the HTTP response header:
print $httpHeader . "\r\n";

 

© 2000-2016 Chilkat Software, Inc. All Rights Reserved.