Type: String
Returns a comma-separated list of port numbers that are detected as permitting outbound traffic (initiating from the client) on the visitor’s machine, based on the ports you instructed BrowserHawk to check via the PortsToCheck property.
For example, to use the advanced streaming capabilities of MediaPlayer, port 1755 must be open. Now you can check in advance whether a visitor will have trouble accessing your content.
Another example is the SSL port 443 – if this port is blocked then the user will receive an error when trying to access your HTTPS content – not exactly what you want considering that is usually your order page! Now you can use BH to gracefully detect and handle this situation.
Note: You must call the GetExtPropertiesEx method before checking the value of this property. This property requires the Enterprise Edition of BrowserHawk.
Note: Before using this property in a production environment, be sure to Configure the Port Check Server.
Note: By default, the OpenPorts check uses cyScape’s Port Check Server. At this time, this server is configured to handle detection of the following ports only: 80, 443, 554, 1755, 7070, 8080, 8081, and 9090. To check the status of any other port you must configure your own Port Check Server.
You must instruct BrowserHawk on which ports you want it to check by setting the PortsToCheck property to a comma-separated list of ports you want it to check prior to calling GetExtPropertiesEx.
For example, assume you want to check whether streaming ports 554 and 1755 are open. You would set PortsToCheck equal to "554, 1755". After calling GetExtPropertiesEx, the OpenPorts property will contain "554, 1755" if both ports are open, "554" if only port 554 is open, "1755" if only port 1755 is open, or an empty string if neither port is open.
Tip: Assuming your web site runs on port 80, always add "80" to the end of the list of ports to check when setting the PortsToCheck property. For example, if you are interested in checking ports 554 and 1755, set PortsToCheck to "554,1755,80". Then when checking the OpenPorts property, you should make sure that it at least contains port 80. If it does not, as would be the case if OpenPorts returned an empty string, then this indicates there was a problem reaching the Port Check Server and the answer can not be relied on.
Tip: See the portcheck.asp sample in your BrowserHawk installation directory for a detailed example of performing open port checks with BrowserHawk.
Special notes for this property:
The user must have images enabled for this check to work properly, otherwise the return value will be True regardless of the real setting for this property. You can also check the ImagesEnabled property if you wish to account for that situation.
This test relies on a properly configured Port Check Server.
There is an issue with Opera 6 (and possibly versions released after the time of this writing) that prevent port 443 from being checked property. Therefore if you check port 443 with Opera 6 it will always return False, even if the port is open.
Checking this property will result in a delay of approximately 3 seconds in the event that the visitor’s outbound ports are blocked (and in which case the return value will be True). You can change this timeout using the ExtPropFWTimeout property.
If the user’s JavaScript is disabled this property will not be available.
If you run the OpenPorts test from a secure page (https://…), the user will receive a security notice from the browser stating that the page contains both secure and unsecure items. Unfortunately because of the way this test must be performed, it is not possible to work around this. Therefore it is not recommended that you perform this test from a secure page. Instead test the user for OpenPorts before sending them to the secure portion of your site.
See Also: