chan-toruが終了しちゃったので、raspi4+curl+nasne apiで予約してみた。WireSharkとか久々に使ったわ~。
1, WireSharkをインストール
2, PC TV Plus(Win専用のnasneアプリ)を14日試用でWindowsにインストール。
3, 録画予約した時のAPI URLを推測して、curlで再現してみる。
録画した時のURL。Portは2種類あって、GET=64210とPOST=64220って感じ?
http://192.168.10.101:64220/schedule/reservedInfoCreate
WireSharkでパケットの中身をみてみる。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
Hypertext Transfer Protocol HTML Form URL Encoded: application/x-www-form-urlencoded Form item: "title" = "100分de名著 ミヒャエル・エンデ“モモ”(2)時間を奪う“灰色の男たち”" Form item: "startDateTime" = "2020-08-12T05:30:00+09:00" Form item: "duration" = "1500" Form item: "conditionId" = "1" Form item: "quality" = "101" Form item: "broadcastingType" = "2" Form item: "serviceId" = "1032" // テレビのチャンネル? Form item: "eventId" = "1782" // 番組ID? Form item: "priorityFlag" = "1" Form item: "storageId" = "0" Form item: "creatorId" = "133072" Form item: "forceFlag" = "1" Form item: "parentalId" = "0" |
同じLAN内にあるraspi4からcurlでPOSTしてみる
1 2 3 4 5 |
# urlエンコードして送信。 curl -X POST --data-urlencode "title=100分de名著 ミヒャエル・エンデ“モモ”(2)時間を奪う“灰色の男たち”" --data-urlencode "startDateTime=2020-08-12T05:30:00+09:00" --data-urlencode "duration=1500" --data-urlencode "conditionId=1" --data-urlencode "quality=101" --data-urlencode "broadcastingType=2" --data-urlencode "serviceId=1032" --data-urlencode "eventId=1782" --data-urlencode "priorityFlag=1" --data-urlencode "storageId=0" --data-urlencode "creatorId=133072" --data-urlencode "forceFlag=1" --data-urlencode "parentalId=0" http://192.168.10.101:64220/schedule/reservedInfoCreate # 自分でURLエンコードしておけば、引数は1個でも行けた。 curl -X POST -d 'title=%EF%BC%91%EF%BC%90%EF%BC%90%E5%88%86%EF%BD%84%EF%BD%85%E5%90%8D%E8%91%97%E3%80%80%E3%83%9F%E3%83%92%E3%83%A3%E3%82%A8%E3%83%AB%E3%83%BB%E3%82%A8%E3%83%B3%E3%83%87%E2%80%9C%E3%83%A2%E3%83%A2%E2%80%9D%EF%BC%88%EF%BC%92%EF%BC%89%E6%99%82%E9%96%93%E3%82%92%E5%A5%AA%E3%81%86%E2%80%9C%E7%81%B0%E8%89%B2%E3%81%AE%E7%94%B7%E3%81%9F%E3%81%A1%E2%80%9D%EE%86%84%EE%83%BE&startDateTime=2020-08-12T05%3A30%3A00%2B09%3A00&duration=1500&conditionId=1&quality=101&broadcastingType=2&serviceId=1032&eventId=1782&priorityFlag=1&storageId=0&creatorId=133072&forceFlag=1&parentalId=0' http://192.168.10.101:64220/schedule/reservedInfoCreate |
raspi4からnasne録画できたのは良いけど、番組パラメータをどうやって取得すれば良いんだろうか・・・。
テレビ欄を取得するようなAPIが見当たらないな~。