HTTPS

From Rosetta Code
Revision as of 12:56, 2 August 2009 by rosettacode>JimD (Adding Python)
Task
HTTPS
You are encouraged to solve this task according to the task description, using any language you may know.

Print an HTTPS URL's content to the console. Checking the host certificate for validity is recommended. The client should not authenticate itself to the server — the webpage https://sourceforge.net/ supports that access policy — as that is the subject of other tasks.

Readers may wish to contrast with the HTTP Request task, and also the task on HTTPS request with authentication.

AutoHotkey

Library: wininet

<lang AutoHotkey> URL  := "https://sourceforge.net/" WININET_Init() msgbox % html := UrlGetContents(URL) WININET_UnInit() return

  1. include urlgetcontents.ahk
  2. include wininet.ahk

</lang>

F#

The underlying .NET classes handle secure web connections the same way they manage insecure connections.

#light
let wget (url : string) =
    let c = new System.Net.WebClient()
    c.DownloadString(url)

Python

Python's urllib2 (urllib.request in Python3) has support for SSL if the interpreter's underlying httplib libraries was compiled with SSL support. By default this will be the enabled for default Python installations on most platforms.

<lang Python> import urllib2 request = urllib2.urlopen('https://sourceforge.net/') print request.read() request.close() </lang>

Tcl

Uses the Tls package. <lang tcl>package require http package require tls http::register https 443 ::tls::socket

  1. Make a secure connection

set token [http::geturl https://sourceforge.net/]

  1. Now as for conventional use of the “http” package

puts [http::data $token] http::cleanup $token</lang>