NEQTO Docs
  • Languages icon日本語
    • English
  • ドキュメント
  • API
  • FAQ

›neqto.js

Getting Started

  • NEQTO Hello World!
  • Tutorial Step 1. NEQTO Console設定
  • Tutorial Step 2. デバイス設定とサービスの開始 (NEQTO Bridge)
  • Tutorial Step 2. デバイス設定とサービスの開始 (STM32 Discovery)
  • Tutorial Step 2. デバイス設定とサービスの開始 (SPRESENSE)
  • Tutorial Step 3. スクリプトを使ったアプリケーション開発

NEQTO

  • NEQTO アカウント登録
  • サブアカウント
  • APIの利用
  • GCP用NEQTO CloudSync
  • NEQTO Engineファームウェアリスト
  • お問い合わせに関するガイドライン

NEQTO Console

  • はじめに
  • 基本情報
  • 管理者専用の操作
  • デバイス管理
  • Linuxデバイス管理
  • 一括登録
  • スクリプト
  • アクション & コンタクト
  • Consoleでデータを表示
  • NEQTO Apps

    • NEQTO Apps について
    • NEQTO Infinitypool
    • NEQTO Insights
    • NEQTO Custodia
    • NEQTO Flow
  • Machine Driver
  • 推奨ブラウザ
  • 請求情報

SPRESENSE

    ハードウェア仕様

    • 01. About Spresense

    ソフトウェア仕様

    • 01. 動作フロー
    • 02. 初期インストール
    • 03. Spresense Wi-Fi 初期設定
    • 04. Spresense LTE-M 初期設定
    • 05. デバッグログ取得方法
    • 06. システムLED動作
    • 07. イベントメッセージ
    • 08. ファームウェア更新方法

    neqto.js

    • 01. About neqto.js
    • 02. Log
    • 03. Timers
    • 04. HTTP
    • 05. HTTPS
    • 06. MQTT
    • 07. Secure
    • 08. Storage
    • 09. Sleep
    • 10. RTC
    • 11. GPIO
    • 12. UART
    • 13. SPI
    • 14. I2C
    • 15. ADC
    • 16. GNSS
    • 17. Camera
    • 18. Utils
    • 19. nqSpresense
    • 20. nqService
    • 21. nqMqtt
    • 22. nqFOTA
    • 23. nqWiFi
    • 24. nqLte

STM32 Discovery

    ハードウェア仕様

    • 01. About STM32 Discovery Kit (B-L4S5I-IOT01A)

    ソフトウェア仕様

    • 01. 動作フロー
    • 02. 初期インストール
    • 03. STM32 Discovery Wi-Fi 初期設定
    • 04. デバッグログ取得方法
    • 05. システムLED動作
    • 06. イベントメッセージ
    • 07. ファームウェア更新方法

    neqto.js

    • 01. About neqto.js
    • 02. Log
    • 03. Timers
    • 04. HTTP
    • 05. HTTPS
    • 06. MQTT
    • 07. Secure
    • 08. Storage
    • 09. Sleep
    • 10. RTC
    • 11. UserSW
    • 12. GPIO
    • 13. UART
    • 14. SPI
    • 15. I2C
    • 16. ADC
    • 18. Utils
    • 19. nqDiscovery
    • 20. nqService
    • 21. nqMqtt
    • 22. nqFOTA
    • 23. nqWiFi

NEQTO Bridge

    ハードウェア仕様

    • 01. NEQTO Bridge Module
    • 02. NEQTO Bridge Wi-Fi Module
    • 03. NEQTO Bridge LTE-1 Module
    • 04. NEQTO Bridge LTE-M/NB Module
    • 05. NEQTO Bridge IO Board
    • 06. NEQTO Bridge Digital IO Board
    • 07. NEQTO Bridge Connector Board

    ソフトウェア仕様

    • 01. 動作フロー
    • 02. NEQTO Bridge Wi-Fi Module 初期設定
    • 03. NEQTO Bridge LTE Module 初期設定
    • 04. デバッグログ取得方法
    • 05. システムLED動作
    • 06. イベントメッセージ
    • 07. ファームウェア更新方法

    neqto.js

    • 01. About neqto.js
    • 02. Log
    • 03. Timers
    • 04. HTTP
    • 05. HTTPS
    • 06. MQTT
    • 07. Secure
    • 08. Storage
    • 09. Sleep
    • 10. RTC
    • 11. UserSW
    • 12. GPIO
    • 13. UART
    • 14. SPI
    • 15. I2C
    • 16. ADC
    • 17. BLE
    • 18. Utils
    • 19. nqBridge
    • 20. nqService
    • 21. nqMqtt
    • 22. nqFOTA
    • 23. nqWiFi
    • 24. nqLte
    • 25. nqLAN
    • 26. nqEx

Linux-based device

    ソフトウェア仕様

    • 01. システム要件
    • 02. インストール
    • 03. ソフトウェア構成
    • 04. 動作フロー
    • 05. デバッグログ取得方法
    • 06. イベントメッセージ
    • 07. ソフトウェア更新方法

    neqto.js

    • 01. About neqto.js
    • 02. Log
    • 03. Timers
    • 04. HTTP
    • 05. HTTPS
    • 06. MQTT
    • 07. Secure
    • 08. Storage
    • 09. RTC
    • 10. UNIXSocket
    • 11. FileSystem
    • 12. SubProcess
    • 13. Utils
    • 14. nqLinux
    • 15. nqService
    • 16. nqMqtt
    • 17. nqFOTA
    • 18. nqLAN

neqto.js Libraries

  • About neqto.js Libraries
  • UART

    • GM65 Barcode Reader
    • SRF Ultrasonic Range Finder - Serial Mode

    I2C

    • HTS221 v2 Temperature and Humidity Sensor
    • LIS2DW12 v2 Accelerometer
    • SRF Ultrasonic Range Finder - I2C Mode
    • [Archive] HTS221 Temperature and Humidity Sensor
    • [Archive] LIS2DW12 Accelerometer

    Utils

    • RTC Alarm Synchronized Scheduler

    Integration

    • AWS S3 v2
    • AWS IoT Core v2
    • Azure IoT v2
    • GCP IoT Core
    • [Archive] AWS S3
    • [Archive] AWS IoT Core

neqto.js Snippets

  • About neqto.js Snippets
  • DataDog
  • Dropbox
  • Google Sheets
  • InfluxDB
  • Oracle Cloud Object Storage
  • Salesforce
  • SAP Cloud Platform Internet of Things
  • Splunk
  • Niagara

Release Notes

  • NEQTO Console アップデート
  • NEQTO Firmware (Bridge Wi-Fi/LTE Module) リリース
  • NEQTO Firmware (STM32 Discovery Wi-Fi) リリース
  • NEQTO Firmware (Spresense Wi-Fi/LTE-M) リリース
  • NEQTO Engine Linux版 リリース

04. HTTP

httpオブジェクトは、HTTPクライアント機能を提供する組み込みオブジェクトです。

機能概要:

  • HTTPクライアント機能を提供します。
  • HTTP v1.1をサポートします。

制限事項:

  • 同時に使用可能なHTTPセッションリソースは2本です。
    尚、このリソースはhttpオブジェクトとhttpsオブジェクトで共用となります。
  • リソースエラーは例外発生要因となります。



http Global Object

Methods()/PropertiesSummaryVersionNote
http.request()HTTP通信を開始します。01.01.00+{ClientRequest}、および{IncomingMessage}のインスタンスが生成されます。



Details

http.request(options[,callback][,sockTo])

HTTP通信を開始します。

NameTypeM/OSummary                                            Note
optionsObjectmandatory通信パラメータの設定用プロパティ
host : {string}
HTTPサーバのドメイン名またはIPアドレス(※1)
デフォルト値は'127.0.0.1'となります。
port : {number}
HTTPサーバのポート番号
デフォルト値は80となります。
method : {string}
メソッド名
'GET', 'POST', 'PUT', 'HEAD'のいずれかが入ります。
デフォルト値は'GET'となります。
path : {string}
リクエストのパス
デフォルト値は'/'となります。
headers : {Object}
リクエストヘッダ
任意のリクエストヘッダを含むオブジェクトを指定します。尚、このパラメータはオプションです。
未設定の要素はデフォルト値で動作しますが、本引数自身は必須であることに注意してください。

※1: 文字数が64バイトを超えた場合は例外が発生します。
callback(res)functionoptionalレスポンスヘッダの受信完了時にコールバック処理を実行します。以下の引数が付属します。
res : {IncomingMessage}
{IncomingMessage}のインスタンス
データを受信する場合は必要となります。
sockTonumberoptionalセッションのタイムアウト値[ms]
(最大で 4,294,967,295msまで指定可能です。超過値は最大値となります)
デフォルト値は90000となります。
指定があった場合、セッションはタイムアウトで破棄され、errorイベントにて通知されます。
return{ClientRequest}-{ClientRequest} : 生成された{ClientRequest}リソース不足やパラメータ異常の場合は例外となります。



{ClientRequest}

本オブジェクトは、http.request()により内部で生成され返却されます。

Methods()/PropertiesSummaryVersionNote
.on()イベントハンドラを登録します。01.01.00+
.write()データの送信を行います。01.01.00+
.end()HTTP-Requestを完了します。01.01.00+
.abort()HTTP-Request送信/HTTP-Response受信を強制的に中止します。01.01.00+
.errCodeエラーコード01.01.00+



Details

.on(event,callback)

イベントハンドラを登録します。

NameTypeM/OSummaryNote
eventstringmandatoryイベント名
使用できるイベント名はerrorとなります。
callback()functionmandatoryイベント発生時にコールバック処理を実行します。
returnundefined--

event : ’error’

HTTP-Requestで、エラーが発生した場合にコールバック処理を実行します。
エラーは、コールバック処理の中またはそれ以降で、エラーコード(.errCode)を参照できます。

.write(data[,callback])

データの送信を行います。
dataはRequest-Bodyとして送信されます。送信完了時にコールバック処理を実行します。

NameTypeM/OSummary                        Note
datastring, ArrayBuffermandatory送信データコールバック処理と連携することにより分割書き込みが可能です。一度に書き込むデータサイズは4KB以下にしてください。エラーが発生した場合は一度に書き込むデータサイズを減らしてください。
callback()functionoptional書き込みデータの送信完了時にコールバック処理を実行します。
returnundefined--

.end([data][,callback])

dataが存在する場合はRequest-Bodyとして送信され、HTTP-Requestを完了します。
Requestデータの送信完了時にコールバック処理を実行します。
本メソッドは、HTTP-Requestを完了する時に必須です。

NameTypeM/OSummary                        Note
datastring, ArrayBufferoptional送信データ書き込むデータサイズは4KB以下にしてください。エラーが発生した場合は書き込むデータサイズを減らし、.write()を使用した分割書き込みを実行してください。
callback()functionoptional書き込みデータが送信完了時にコールバック処理を実行します。
returnundefined--

通常、下記のように使用します。

request.write('Hello World');
request.end();

以下は、分割書き込みのサンプルです。

var WRITE_CHUNK = 1024;
var getBodyStream = function(){
  var buff;
  //...
  //WRITE_CHUNKまでのデータを用意する。
  //データがなくなったらば、nullを返却する。
  //...
  return buff; //{string}/{arrayBuffer}/null
};
var writeBodyStream = function(){
    var buff = getBodyStream();
    if (buff != null){
      print('request stream write!!!');
      request.write(buff ,writeBodyStream);
    }else{
      request.end(function() {
        print('request stream end!!!');
      });
    }
}
writeBodyStream();

.abort()

HTTP-Request送信/HTTP-Response受信を強制的に中止します。
本関数はerrorイベントをコールする契機となります。

NameTypeM/OSummaryNote
returnundefined--

.errCode

エラーコードです。本プロパティは、number型の値を持ちます。
以下が値毎の意味となります。errorイベントのコールバック処理の中またはそれ以降で参照可能です。

Error codeSummary
0エラーなし
1.abort()による中止
2パラメータエラー
3リソースエラー
4コールバック処理エラー
5ソケットタイムアウト
6スリープ移行に伴う中止
103Request-Body不足によるエラー
104Request-Body不正によるエラー
115ソケットエラー



{IncomingMessage}

本オブジェクトは、http.request()により内部で生成され、コールバック処理の引数として返却されます。
本オブジェクトが返却されたタイミングから、受信したレスポンスヘッダは参照可能です。

Methods()/PropertiesSummaryVersionNote
.on()イベントハンドラを登録します。01.01.00+
.read()Response-Bodyを読み出します。01.01.00+
.readBin()Response-Bodyをバイナリ形式で読み出します。01.01.00+
.statusCodeHTTPレスポンスフレームのステータスライン上のステータスコード01.01.00+
.statusMessageHTTPレスポンスフレームのステータスライン上のステータスメッセージ01.01.00+
.headersHTTPレスポンスフレームのヘッダ01.01.00+



Details

.on(event,callback)

イベントハンドラを登録します。

NameTypeM/OSummaryNote
eventstringmandatoryイベント名
使用できるイベント名はerror, readable, endとなります。
callback()functionmandatoryイベント発生時にコールバック処理を実行します。
returnundefined--

event : ’error’

HTTP-Responseの受信が完了しなかった場合にコールバック処理を実行します。
同時に、{ClientRequest}のerrorイベントにも反映します。

event : ’readable’

HTTP-Responseの受信バッファにデータが存在する場合にコールバック処理を実行します。
データ受信を行う場合は本イベントを必ずハンドルする必要があります。
尚、readableイベントが発生せず、endイベントが直接発生する場合があります。

event : ’end’

HTTP-Responseの受信が完了した場合にコールバック処理を実行します。
データ受信を行う場合は本イベントを必ずハンドルする必要があります。

.read()

Response-Bodyを読み出します。

NameTypeM/OSummaryNote
returnstring, null-読み出したResponse-Bodyデータ存在しない場合はnullを返却します。

.readBin()

Response-Bodyをバイナリ形式で読み出します。

NameTypeM/OSummaryNote
returnArrayBuffer, null-読み出したResponse-Bodyデータ存在しない場合はnullを返却します。

文字列をバイナリで読み出すサンプルです。

res.on('end' ,function() {
 r_data = res.readBin();
 r_data_u8 = new Uint8Array(r_data);
 var s = '';
 for( n = 0 ; n < r_data_u8.length ; n++){
   s += r_data_u8[n].toString();
 }
 print('body:' + s);
});

.statusCode

本プロパティは、number型の値を持ちます。
HTTPレスポンスフレームのステータスライン上のステータスコードを参照可能です。

.statusMessage

本プロパティは、string型の値を持ちます。
HTTPレスポンスフレームのステータスライン上のステータスメッセージを参照可能です。

.headers

本プロパティは、Object型の値を持ちます。
HTTPレスポンスフレームのヘッダを参照可能です。ヘッダ名がプロパティ名称となります。

例えば、レスポンスヘッダから'Date'ヘッダの値を参照する場合は以下のようにします。

http.request(options, function(res) {
 print(res.headers['Date']);
});



オブジェクトの使用例

Sample 1

GETメソッドのサンプルです。分割受信を行っています。

var HEADERS = {};
var options = {method: 'GET', host: '192.168.1.1', port: 80, path: '/test.txt', headers: HEADERS};
var request = http.request(options, function(res) {
  print(res.statusCode);
  print(this.statusMessage);
  res.on('error', function() {
    print('response error!');
  });
  res.on('readable', function() {
    print(res.read());
  });
  res.on('end', function() {
    print(res.read());
    print('response complete!');
  });
});
request.on('error', function() {
  print('errCode=' + request.errCode);
});
request.end(function() {
  print('request done!!!');
});

Sample 2

POSTメソッドのサンプルです。'Hello World'を送信します。

var BODY = 'Hello World';
var HEADERS = {'Content-Type': 'text/plain', 'Content-Length': BODY.length.toString()};
var options = {method: 'POST', host: '192.168.1.1', port: 80, path: '/post', headers: HEADERS};
var request = http.request(options, function(res) {
  print(res.statusCode);
  print(this.statusMessage);
  res.on('error', function() {
    print('response error!');
  });
  res.on('end', function() {
    print('response complete!');
  });
});
request.on('error', function() {
  print('errCode=' + request.errCode);
});
request.end(BODY, function() {
  print('request done!!!');
});



Updated: 2022-01-17
← 前次 →
  • http Global Object
  • Details
    • http.request(options[,callback][,sockTo])
  • {ClientRequest}
  • Details
    • .on(event,callback)
    • event : ’error’
    • .write(data[,callback])
    • .end([data][,callback])
    • .abort()
    • .errCode
  • {IncomingMessage}
  • Details
    • .on(event,callback)
    • event : ’error’
    • event : ’readable’
    • event : ’end’
    • .read()
    • .readBin()
    • .statusCode
    • .statusMessage
    • .headers
  • オブジェクトの使用例
    • Sample 1
    • Sample 2
NEQTO とはニュースサービスFAQプライバシーポリシー}
NEQTO Console
はじめに基本情報管理者専用の操作デバイス管理NEQTO Apps
NEQTO Bridge
NEQTO Bridge ピン配置NEQTO Bridge Wi-Fi ModuleNEQTO Bridge LTE-1 Moduleデバッグログ取得方法イベントメッセージ
APIのドキュメント
APIの利用グローバル APIリージョン APIAPIサービス利用規約
Jigsaw, Inc.
© 2023 JIG-SAW INC.