構文
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