HTTPリクエストの内容を定義したリソースを生成し、これを表すHTTPリクエストハンドルを返します。

構文

HTTP_REQUEST_HANDLE HTTP_CreateRequest(
  char *targetURL,
  char cMethod,
  char *uploadData,
  size_t uploadSize,
  char *extraHeader,
  unsigned int timeout,
  unsigned int option
);

パラメータ

targetURL
[in] サーバのURLを指定します。URLにポート番号とクエリパラメータを含めることができます。
cMethod
[in] HTTPリクエストのメソッドを次のいずれかの値で指定します。
説明
HTTP_REQ_GET GETを指定します。
HTTP_REQ_POST POSTを指定します。
uploadData
[in] 送信データのバッファへのポインタを指定します。送信データがない場合はNULLを指定します。
uploadSize
[in] 送信データのバイト数を指定します。送信データがない場合は0を指定します。
extraHeader
[in] 追加のHTTPリクエストヘッダを指定できます。複数行のリクエストヘッダを追加できますが、各ヘッダの行末には必ずCrLfを付加してください。

次のヘッダは自動的に付加されます。

GETメソッドの場合:Hostヘッダ
POSTメソッドの場合:HostヘッダとContent-Lengthヘッダ

追加のヘッダがない場合はNULLを指定します。

timeout
[in] 応答待ちのタイムアウト時間をミリ秒で指定します。
option
[in] 次のオプションフラグを指定できます。オプションを指定しないときは0を指定します。
説明
HTTP_FLAG_BYPASSMODE オープンされたSSLソケットでX509証明書検証プロセスをバイパスします。

戻り値

 関数が成功したらHTTPリクエストハンドルを、それ以外ならばNULLを返します。

解説

 パラメータで指定された内容に従ってHTTPリクエストを定義したリソースを生成し、これを表すHTTPリクエストハンドルを返します。

 本関数で取得したHTTPリクエストハンドルを指定してHTTP_GetResponse関数を呼び出し、HTTPリクエストの送信とHTTPレスポンスの受信を行います。

 本関数が返すHTTPリクエストハンドルがNULL以外の場合は、必ずHTTP_CloseRequest関数を呼び出してHTTPリクエストのリソースを解放してください。

必要条件

ヘッダファイル:
lib.h
http_request.h
ライブラリファイル:
libHttpRequest.a
libSTARTUPOPH5000.a

サンプル

サンプル
#define SERVER_URL      "http://192.168.1.10:8080"
#define SERVER_RESPONSE_TIMEOUT     (15000/20)
#define HTTP_OPTION     0
...
    char* postData;
...
    hRequest = HTTP_CreateRequest(
        SERVER_URL,
        HTTP_REQ_POST,
        postData,
        strlen(postData),
        "Content-Type: application/json\r\nConnection: close\r\n",
        SERVER_RESPONSE_TIMEOUT,
        HTTP_OPTION);
...

最終更新日:2021/11/19