HSPポータル
サイトマップ お問い合わせ


HSPTV!掲示板


未解決 解決 停止 削除要請

2018
0121
nitrohspsockのsockopenでのエラー3解決


nitro

リンク

2018/1/21(Sun) 10:32:45|NO.82303

いまツイキャスのapiでPOST送信しようと試みているのですが


#include "hspsock.as" sockopen 0,"apiv2.twitcasting.tv/oauth2/access_token",80 mes "結果 : "+stat+""

でやってみてもstatの方が3になりエラーがでて接続できません
どうすればよいでしょうか?



この記事に返信する


kanahiron

リンク

2018/1/21(Sun) 11:42:31|NO.82304

ソケット通信でHTTPを扱おうとするとおそらく死ぬほど面倒ですよ
ソケット通信はOSI基本参照モデルで4層くらいに位置するんでしょうか よくわかりませんが
HTTPは最上位層の7層です
多分何言ってるのかわからないと思いますが、つまり、私達が「URL」として認識する「https://apiv2.twitcasting.tv/oauth2/access_token」という概念はソケット通信にありません
ソケット通信では、「apiv2.twitcasting.tv」というドメインにポート番号を指定するのみで、「apiv2.twitcasting.tv」のどこの何を取ってこいなどは知りません
指定するのはHTTPです
なので、

#include "hspsock.as" sockopen 0,"apiv2.twitcasting.tv",443 mes "結果 : "+stat+"" request = {"GET /oauth2/access_token HTTP/1.1 HOST: apiv2.twitcasting.tv "} mes "リクエスト" mesbox request, 640, 200 //HTTPリクエストを送信 sockput request, 0 repeat //受信確認 sockcheck c if (c==0){ sdim response, 1024*4+1 //受信 sockget response, 1024*4, 0 break } await 100 loop mes "レスポンス" mesbox response, 640, 200 sockclose 0 stop

かなり無謀なのでhsp3inetをお使い下さい…


ちなみにHTTPSなので相手先ポート番号は80ではなく443です
ソケット通信だと暗号化も多分自前実装になりますね…無理です



kanahiron

リンク

2018/1/21(Sun) 11:47:25|NO.82305

書き忘れました このような処理(RESTfullAPIを叩く)はtakaya氏のTwitterAPI用のラッパーモジュール「TsubuyakiSoup」が参考になります
ツイキャスだと画像関連の処理もありますかね なので自分が派生させた「TsubuyakiSoup_mod」のリンクを置いておきます
https://github.com/kanahiron/TsubuyakiSoup_mod
頑張ってください



nitro

リンク

2018/1/21(Sun) 12:40:20|NO.82307

回答ありがとうございます。
HTTPSはいいヒントになりました
いろいろ調べてみるとHTTPSに対応したhspinets.asというものが見つかりました
https://hsp.moe/#hspinet
試しに使ってみたらうまくいきました!
本当にありがとうございました



ONION software Copyright 1997-2023(c) All rights reserved.