AWS IVS 테스트 중 nodejs로 재생토큰 생성해 봤는데 혹시 나중에 참조할까 싶어 메모용..

const fs = require("fs");
const jwt = require('jsonwebtoken');


privateKey = fs.readFileSync('./private-key.pem');

expire = parseInt(new Date().getTime() / 1000, 10) + 60

payload = {
	"aws:channel-arn": "arn:aws:ivs:ap-northeast-2:538111149902:playback-key/vzVAAA2pkebk",
	"aws:access-control-allow-origin": "*",
	"exp": expire,
}

token = jwt.sign(payload, privateKey, { algorithm: 'ES384' });

url = "https://3fefaaab8240.ap-northeast-2.playback.live-video.net/api/video/v1/ap-northeast-2.538111149902.channel.86CWWWWOCiaSr.m3u8?token=" + token

console.log({url})
집에 놀고있는 GPS수신기가 있길래,
GPS위성에서 시간정보라도 얻어서 서버시간이라도 자동으로 맞춰볼까 해서
간단히 현재 시간을 얻는 코드를 작성해 보았습니다. (python)

결과물은 이렇습니다.



예전에 휴대폰에 GPS가 내장되지 않던때에 샀던 제품인데, 이제 GPS가 너무 흔해지다 보니 쓸데가 없네요 ㅎㅎㅎ 


- 소스코드:  gps_time.py

윈도우 시스템에서 WMI 인터페이스에 WQL(SQL for WMI)문을 통해 질의하여, 시스템의 각종 정보들을 아주 쉽게 얻어올 수 있다.
In the Windows system, the WMI interface is queried via the WQL (SQL for WMI) statement, so it is very easy to get various information of the system.

WQL은 이름에서 유추할 수 있듯 일반적인 SQL문과 유사하다.
WQL is similar to a regular SQL statement, as you can guess from the name.

간단한 스크립트를 예로 들어보겠다.
Let's take a simple script as an example.


아래는 python코드이다.
Below is the python code.

import win32com.client

strComputer = "."

objWMIService = win32com.client.Dispatch("WbemScripting.SWbemLocator")
objSWbemServices = objWMIService.ConnectServer(strComputer,"root\cimv2")

"""
Example Queries:

SELECT * FROM Win32_OperatingSystem
SELECT * FROM Win32_NetworkAdapter WHERE ConfigManagerErrorCode = 0
SELECT Name, Model, InterfaceType, MediaType, Size from Win32_DiskDrive
SELECT Name, Description, DriveType, FileSystem, FreeSpace, Size, VolumeSerialNumber from Win32_LogicalDisk
SELECT Description, IPAddress, IPSubnet, IPConnectionMetric, MACAddress, DefaultIPGateway FROM Win32_NetworkAdapterConfiguration WHERE DefaultTTL > 1
SELECT Name, MACAddress, ConfigManagerErrorCode, NetConnectionID FROM Win32_NetworkAdapter WHERE AdapterType = 'Ethernet 802.3'
"""

objResult = objSWbemServices.ExecQuery("""
SELECT Description, IPAddress, IPSubnet, IPConnectionMetric, MACAddress, DefaultIPGateway
FROM Win32_NetworkAdapterConfiguration
WHERE DefaultTTL > 1
""")

for itemResult in objResult:
print itemResult


다음은 javascript코드이다.
Here is the javascript code:

function GetInformation() {
      var locator = new ActiveXObject ("WbemScripting.SWbemLocator");
      var service = locator.ConnectServer(".");
      var properties = service.ExecQuery("SELECT * FROM Win32_NetworkAdapter");
      var e = new Enumerator (properties);
      document.write("<style type='text/css'> * { font-size: 12px; } </style><table border=0 cellspacing=1 cellpadding=5 bgcolor=0 width=100%>");
      dispHeading();
      for (;!e.atEnd();e.moveNext ())
      {
            var p = e.item ();
if (p.NetConnectionStatus != null) {
document.write("<tr bgcolor=#ffffff>");
document.write("<td>" + p.Name + " / " + p.NetConnectionID + "</td>");
document.write("<td>" + p.NetConnectionStatus + "</td>");
document.write("<td>" + p.PermanentAddress   + "</td>");
document.write("<td>" + p.MACAddress + "</td>");
document.write("</tr>");
}
      }
      document.write("</table>");
}

function dispHeading()
{
      document.write("<thead bgcolor=#efefef>");
      document.write("<td>Name</td>");
      document.write("<td>x</td>");
      document.write("<td>Status</td>");
      document.write("<td>MACAddress</td>");
      document.write("</thead>");
}

GetInformation();


델파이에서는 이렇게..
In Delphi ...
http://www.magsys.co.uk/delphi/magwmi.asp

가져오고 싶은 정보를 어디서 가져와야 할 지 모르겠다면,
If you do not know where to fetch the information you want to import,

WMI Explorer라는 프로그램을 첨부하니 다운받아서 실행해보기 바란다.
Attach a program called WMI Explorer and download and run it.

wmi_explorer.zip


'Code snippets > Python' 카테고리의 다른 글

놀고있는 GPS수신기의 활용  (0) 2013.07.31
타임서버에서 시간 가져오기 in python  (0) 2008.05.01

요즘 괜히 쓸데없이.. 예전에 만들어 썼던 것들 하나하나 블로그에 정리 해본다..
I've created in the past is organized into blogs.

아마도, 2007년경 필요해서 만들어 썼나 보다.
Perhaps, it was made in 2007 as needed.

누군가는 필요하겠지..
Someone might need it.

어떤 날짜로부터 지금까지 몇일이나 지났나 계산할 때 편하게 쓸 수 있다.
It can be written easily from any date to the past several days.

// coded by heisice@gmail.com

Date.prototype.fromDay = function(someday){
return Math.floor(((someday||new Date()).getTime()-this.getTime())/86400000+1);
}


사용 예를 들어보면,

// 특정 Date를 변수로 넘기면, 그 날짜까지와의 일수가 차이가 계산이 되고,
// If you pass a specific Date as a variable, the difference between days to and from that date is calculated,

var days_total = new Date("October 18,2007").fromDay(new Date("September 15,2009"));

// 아무 변수도 넘기지 않으면.. 오늘과의 일수 차이가 계산이 된다.
// If you do not pass any variables ... Today's days difference is calculated.

var days_work = new Date("October 18,2007").fromDay();

document.write("총 "+days_total+"일 중에, 현재까지 "+days_work+"일이 지났습니다.");



+ Recent posts