getJobs
- 印刷する
- PDF
getJobs
- 印刷する
- PDF
記事の要約
この要約は役に立ちましたか?
ご意見ありがとうございます
Classic/VPC環境で利用できます。
NAVERクラウドプラットフォームコンソールでユーザーが登録した診断リストを照会して結果を出力します。
リクエスト
リクエスト形式を説明します。リクエスト形式は次の通りです。
メソッド | URI |
---|---|
GET | /jobs |
リクエストヘッダ
Web Security Checkerで共通して使用されるヘッダの詳細は、Web Security Checkerのリクエストヘッダをご参照ください。
リクエストクエリパラメータ
パラメータの説明は次の通りです。
フィールド | タイプ | 必須の有無 | 説明 |
---|---|---|---|
limit | Integer | Required | リストのページごとの出力項目数 |
page | Integer | Required | リストのページ番号 |
リクエスト例
リクエストのサンプルコードは次の通りです。
curl --location --request GET 'https://wsc.apigw.ntruss.com/api/v1/jobs
?limit=10
&page=1'
--header 'x-ncp-apigw-timestamp: {Timestamp}'
--header 'x-ncp-iam-access-key: {Access Key}'
--header 'x-ncp-apigw-signature-v2: {API Gateway Signature}'
--header 'Content-Type: application/json'
レスポンス
レスポンス形式を説明します。
レスポンスボディ
レスポンスボディの説明は次の通りです。
フィールド | タイプ | 必須の有無 | 説明 |
---|---|---|---|
total_cnt | Integer | - | ジョブレコードの総数 |
total_page_cnt | Integer | - | 最後のページ |
current_start_page | Integer | - | 最初のページ番号(単位: 10) |
current_end_page | Integer | - | 最後のページ番号(単位: 10) |
record_data | Array | - | 診断リスト |
record_data[].instanceNo | Integer | - | 診断ジョブの識別番号 |
record_data[].start_date | Date | - | 診断ジョブの開始時間 |
record_data[].end_date | Date | - | 診断ジョブの終了時間 |
record_data[].status | String | - | 診断ジョブの状態 |
record_data[].progress | Integer | - | 診断の進捗率 |
record_data[].start_url | String | - | 診断ジョブ対象 URL |
record_data[].crawl_cnt | Integer | - | クローリング URL収集数 |
record_data[].scan_cnt | Integer | - | 脆弱性数 |
record_data[].memo | String | - | ジョブのメモ |
record_data[].result_button | String | - | ジョブの状態
|
record_data[].result_desc | String | - | ジョブ結果の詳細
|
record_data[].rescan_button | String | - | 再診断可能状態
|
record_data[].slave_data | Array | - | 再診断リスト |
レスポンスステータスコード
Web Security Checker APIで共通して使用されるエラーコードの詳細は、Web Security Checkerの共通エラーコードをご参照ください。
レスポンス例
レスポンスのサンプルコードは次の通りです。
- 照会完了: 照会情報がある場合
{
"returnCode": "0",
"returnDesc": "Request Success",
"returnMessage": "Success",
"resources": {
"total_cnt": 1,
"total_page_cnt": 1,
"current_start_page": 1,
"current_end_page": 1,
"record_data": [
{
"instanceNo": "1234567890",
"start_date": "2024-07-08 13:12:03",
"end_date": "2024-07-08 13:15:10",
"status": "診断完了",
"progress": null,
"start_url": "http://your-domain",
"crawl_cnt": "1",
"scan_cnt": "1",
"memo": "サンプル",
"result_button": "report",
"result_desc": "",
"rescan_button": "possible",
"slave_data": null
}
]
}
}
- 照会完了: 照会情報がない場合
{
"returnCode": "0",
"returnDesc": "Request Success",
"returnMessage": "Success",
"resources": {
"total_cnt": 0,
"total_page_cnt": 0,
"current_start_page": 0,
"current_end_page": 0,
"record_data": null
}
}
サンプルコード
make_signature関数でシグネチャーを作成してリクエストヘッドを作成し、入力したリクエストパラメータに応じて診断リストを照会してレスポンスコードが200の場合、結果を出力するサンプルコードは次の通りです。
import sys
import os
import hashlib
import hmac
import base64
import requests
import time
def make_signature(method, uri, timestamp):
access_key = "{accessKey}" # access key id (from portal or sub account)
secret_key = "{secretKey}" # secret key (from portal or sub account)
secret_key = bytes(secret_key, 'UTF-8')
method = method
uri = uri
message = method + " " + uri + "\n" + timestamp + "\n" + access_key
message = bytes(message, 'UTF-8')
signingKey = base64.b64encode(hmac.new(secret_key, message, digestmod=hashlib.sha256).digest())
return signingKey
timestamp = str(int(time.time() * 1000))
method = 'GET'
uri = '/api/v1/jobs?page=1&limit=10'
signature = make_signature(method, uri, timestamp)
headers = {
'x-ncp-apigw-signature-v2': signature.decode('utf-8'),
'x-ncp-apigw-timestamp': timestamp,
'x-ncp-iam-access-key': '{accessKey}', # access key id (from portal or sub account)
'Content-Type': 'application/json'
}
response = requests.request(
method,
f"https://wsc.apigw.ntruss.com{uri}",
headers=headers
)
if response.status_code == 200:
print(response.text)
参考
サンプルコードは Python3を基に作成しました。Java、Node.jsなど他の言語で作成したサンプルコードは、API Gatewayご利用ガイドのAPIの呼び出しをご参照ください。
この記事は役に立ちましたか?