说明
使用 SSL 协议连接到构造函数中指定的 IP 地址和端口。当服务器仅提供 HTTPS 连接时,需要方法 connectSSL。在使用此方法之前,需要将服务器使用的 SSL 证书加载到 Arduino WiFi Shield 101 中。Shield 已经加载了证书,应该可以使用了。要更改或上传新的 SSL 证书,您应该遵循将提供的程序。 connectSSL() 还支持在使用域名(例如:google.com)时进行 DNS 查找。
用法
client.connectSSL(ip, port) client.connectSSL(URL, port)
参数
ip:客户端要连接的IP地址(4字节数组)
URL:客户端将连接的域名(字符串,例如:“arduino.cc”)
端口:客户端将连接到的端口(int)
返回
如果连接成功则返回 true,否则返回 false。
示例
/*
Web client
This sketch connects to a website through a SSL connection
using a WiFi shield.
This example is written for a network using WPA encryption. For
WEP or WPA, change the Wifi.begin() call accordingly.
Circuit:
* WiFi101 shield attached
created 13 July 2010
by dlf (Metodo2 srl)
modified 31 May 2012
by Tom Igoe
*/
#include <SPI.h>
#include <WiFi101.h>
char ssid[] = "yourNetwork"; // your network SSID (name)
char pass[] = "secretPassword"; // your network password (use for WPA, or use as key for WEP)
int keyIndex = 0; // your network key Index number (needed only for WEP)
int status = WL_IDLE_STATUS;
char server[] = "www.arduino.cc"; // name address for Arduino (using DNS)
// Initialize the Wifi client library
// with the IP address and port of the server
// that you want to connect to (port 80 is default for HTTP):
WiFiClient client;
void setup() {
//Initialize serial and wait for port to open:
Serial.begin(9600);
while (!Serial) {
; // wait for serial port to connect. Needed for Leonardo only
}
// check for the presence of the shield:
if (WiFi.status() == WL_NO_SHIELD) {
Serial.println("WiFi shield not present");
// don't continue:
while (true);
}
// attempt to connect to Wifi network:
while (status != WL_CONNECTED) {
Serial.print("Attempting to connect to SSID: ");
Serial.println(ssid);
// Connect to WPA/WPA2 network. Change this line if using open or WEP network:
status = WiFi.begin(ssid, pass);
// wait 10 seconds for connection:
delay(10000);
}
Serial.println("Connected to wifi");
Serial.println("\nStarting connection to server...");
// if you get a connection, report back via serial:
if (client.connectSSL(server, 443)) {
Serial.println("Connected to server");
// Make a HTTP request:
client.println("GET /asciilogo.txt HTTP/1.1");
client.println("Host: www.arduino.cc");
client.println("Connection: close");
client.println();
Serial.println("Request sent");
}
}
void loop() {
// if there are incoming bytes available
// from the server, read them and print them:
while (client.available()) {
char c = client.read();
Serial.write(c);
}
// if the server's disconnected, stop the client:
if (!client.connected()) {
Serial.println();
Serial.println("disconnecting from server.");
client.stop();
// do nothing forevermore:
while (true);
}
}
相关用法
- Arduino WiFi101 - WiFi.subnetMask()用法及代码示例
- Arduino WiFi101 - WiFi.status()用法及代码示例
- Arduino WiFi101 - WiFi.config()用法及代码示例
- Arduino WiFi101 - WiFi.localIP()用法及代码示例
- Arduino WiFi101 - WiFi.setDNS()用法及代码示例
- Arduino WiFi101 - WiFi.SSID()用法及代码示例
- Arduino WiFi101 - WiFi.macAddress()用法及代码示例
- Arduino WiFi101 - WiFiSSLClient()用法及代码示例
- Arduino WiFi101 - WiFi.beginAP()用法及代码示例
- Arduino WiFi101 - WiFi.RSSI()用法及代码示例
- Arduino WiFi101 - WiFi.beginProvision()用法及代码示例
- Arduino WiFi101 - WiFi.scanNetworks()用法及代码示例
- Arduino WiFi101 - WiFiClient用法及代码示例
- Arduino WiFi101 - WiFi.BSSID()用法及代码示例
- Arduino WiFi101 - WiFi.begin()用法及代码示例
- Arduino WiFi101 - connect()用法及代码示例
- Arduino WiFi101 - connected()用法及代码示例
- Arduino WiFi101 - WiFiServer()用法及代码示例
- Arduino WiFi101 - WiFi.gatewayIP()用法及代码示例
- Arduino WiFi101 - WiFi.ping()用法及代码示例
- Arduino WiFi101 - WiFi.encryptionType()用法及代码示例
- Arduino WiFi101OTA - WiFiOTA.begin()用法及代码示例
- Arduino WiFi101OTA - WiFiOTA.poll()用法及代码示例
- Arduino WiFiNINA - WiFi.config()用法及代码示例
- Arduino WiFiNINA - server.status()用法及代码示例
注:本文由纯净天空筛选整理自arduino.cc大神的英文原创作品 WiFi101 - ConnectSSL()。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。