HTTPS/Client-authenticated: Difference between revisions

m
syntax highlighting fixup automation
m (→‎{{header|Perl}}: Fix syntax highlighting markup)
m (syntax highlighting fixup automation)
Line 8:
{{works with|C sharp|3.0}}
 
<langsyntaxhighlight lang="csharp">
using System;
using System.Net;
Line 32:
}
}
</syntaxhighlight>
</lang>
 
=={{header|Go}}==
<langsyntaxhighlight Golang="go">package main
 
import (
Line 73:
 
}
</syntaxhighlight>
</lang>
 
=={{header|Julia}}==
<langsyntaxhighlight lang="julia">using HTTP, MbedTLS
 
conf = MbedTLS.SSLConfig(true, log_secrets="/utl/secret_key_log.log")
Line 82:
 
println(resp)
</langsyntaxhighlight>{{output}}<pre>
HTTP.Messages.Response:
"""
Line 102:
 
=={{header|Kotlin}}==
<langsyntaxhighlight lang="scala">// version 1.2.0
 
import java.security.KeyStore
Line 138:
println(line)
}
}</langsyntaxhighlight>
 
=={{header|Lasso}}==
<langsyntaxhighlight Lassolang="lasso">local(sslcert = file('myCert.pem'))
local(x = curl('https://sourceforge.net'))
#x->set(CURLOPT_SSLCERT, #sslcert->readstring)
#sslcert->close
#x->result->asString</langsyntaxhighlight>
 
=={{header|Mathematica}} / {{header|Wolfram Language}}==
<langsyntaxhighlight Mathematicalang="mathematica">a = RunThrough["curl -E myCert.pem https://www.example.com", 1]
For[ i=0, i < Length[a] , i++, SomeFunction[a]]</langsyntaxhighlight>
 
=={{header|Nim}}==
<langsyntaxhighlight lang="nim">import httpclient, net
var client = newHttpClient(sslContext = newContext(certFile = "mycert.pem"))
var r = client.get("https://www.example.com")</langsyntaxhighlight>
 
=={{header|Perl}}==
<langsyntaxhighlight lang="perl">#!/usr/bin/env perl -T
use 5.018_002;
use warnings;
Line 178:
else {
say $res->status_line;
}</langsyntaxhighlight>
 
=={{header|Phix}}==
{{libheader|Phix/libcurl}}
Exactly the same as the HTTP#Phix task, except for the CURLOPT_SSLCERT part.
<!--<langsyntaxhighlight Phixlang="phix">(notonline)-->
<span style="color: #008080;">without</span> <span style="color: #008080;">js</span>
<span style="color: #008080;">include</span> <span style="color: #000000;">builtins</span><span style="color: #0000FF;">\</span><span style="color: #000000;">libcurl</span><span style="color: #0000FF;">.</span><span style="color: #000000;">e</span>
Line 197:
<span style="color: #7060A8;">puts</span><span style="color: #0000FF;">(</span><span style="color: #000000;">1</span><span style="color: #0000FF;">,</span><span style="color: #000000;">res</span><span style="color: #0000FF;">)</span>
<!--</langsyntaxhighlight>-->
 
=={{header|PicoLisp}}==
<langsyntaxhighlight PicoLisplang="picolisp">(in '(curl "-E" "myCert.pem" "https://www.example.com")
(while (line)
(doSomeProcessingWithLine @) ) )</langsyntaxhighlight>
 
=={{header|Python}}==
<langsyntaxhighlight lang="python">import httplib
 
connection = httplib.HTTPSConnection('www.example.com',cert_file='myCert.PEM')
Line 211:
response = connection.getresponse()
data = response.read()
</syntaxhighlight>
</lang>
 
=={{header|Racket}}==
 
Skeleton code to connect to a server:
<langsyntaxhighlight lang="racket">
#lang racket
(require openssl/mzssl)
Line 223:
(ssl-load-verify-root-certificates! ctx "my-cert.pem")
(define-values [I O] (ssl-connect "www.example.com" 443 ctx))
</syntaxhighlight>
</lang>
 
=={{header|Raku}}==
(formerly Perl 6)
<syntaxhighlight lang="raku" line>
<lang perl6>
# cert creation commands
 
Line 256:
$s.close;
 
</syntaxhighlight>
</lang>
 
=={{header|Ruby}}==
<langsyntaxhighlight Rubylang="ruby">require 'uri'
require 'net/http'
 
Line 270:
request = Net::HTTP::Get.new uri
http.request request
end</langsyntaxhighlight>
=={{header|Rust}}==
{{works with|Rust|2021}}
Line 278:
 
Native (system) TLS libraries are used instead of Rustls, the Rust TLS implementation, because we use a PKCS#12 certificate which at the time of writing does not seem to be available on Rustls. A PKCS#12 certificate is used instead of its PEM equivalent because reading password-protected PEM files [https://docs.rs/reqwest/0.11.6/reqwest/tls/struct.Identity.html#method.from_pem does not seem to be available] either.
<langsyntaxhighlight lang="toml">reqwest = {version = "0.11", features = ["native-tls", "blocking"]}</langsyntaxhighlight>
===src/main.rs===
<langsyntaxhighlight lang="rust">use std::fs::File;
use std::io::Read;
 
Line 307:
 
Ok(())
}</langsyntaxhighlight>
 
=={{header|Scala}}==
<langsyntaxhighlight Scalalang="scala">import java.io.FileInputStream
import java.net.URL
import java.security.KeyStore
Line 338:
new BufferedSource(con.getInputStream).getLines.foreach(println(_))
 
}</langsyntaxhighlight>
 
=={{header|Tcl}}==
Uses the [http://tls.sourceforge.net Tls] package.
<langsyntaxhighlight lang="tcl">package require http
package require tls
 
Line 357:
# Now as for conventional use of the “http” package
set data [http::data $token]
http::cleanup $token</langsyntaxhighlight>
 
=={{header|Wren}}==
{{libheader|libcurl}}
An embedded program so we can ask the C host to communicate with libcurl for us.
<langsyntaxhighlight lang="ecmascript">/* https_client-authenticated.wren */
 
var CURLOPT_URL = 10002
Line 395:
return
}
curl.easyCleanup()</langsyntaxhighlight>
<br>
We now embed this in the following C program, compile and run it.
<langsyntaxhighlight lang="c">/* gcc https_client-authenticated.c -o https_client-authenticated -lcurl -lwren -lm */
 
#include <stdio.h>
Line 514:
free(script);
return 0;
}</langsyntaxhighlight>
 
=={{header|zkl}}==
Uses libCurl.
<langsyntaxhighlight lang="zkl">var CURL=Import("zklCurl"), c=CURL();
c.setOpt("SSLCERT","certFile.pem"); c.setOpt("SSLCERTTYPE","pem");
c.get("http://zenkinetic.com"); // lame example to show how to read</langsyntaxhighlight>
 
{{omit from|Batch File|Does not have network access.}}
10,327

edits