そんなにくっつけるの難しいですかね。
#module
#include "hspsock.as"
#define global urlHTTP "checkip.dyndns.org" // 接続URL
#define global fileHTTP "/" // 接続ファイル
#define global portHTTP 80 // ポート
#define global timeHTTP 1000 // タイムアウト用
#define global sizeHTTP 1024 // パケットサイズ
#define global tagHTTP "body" // 読み出し前タグ
#define global keywordHTTP "Current IP Address:" // 読み出し前キーワード
#defcfunc getIP
/*ソケット生成*/
sockopen 0, urlHTTP, portHTTP
if (stat != 0) {
dialog "接続エラーです", 1, "エラー" : stop
}
/*パケット送信(GETメソッド)*/
sockput "GET "+fileHTTP+" HTTP/1.0\nHost:???\nUser-Agent:???\n\n"
if (stat != 0) {
dialog "送信エラーです", 1, "エラー" : stop
}
/*変数初期化*/
dim flg, 1
dim size, 1
dim p, 1
sdim buf, sizeHTTP, 2
/*取得ループ*/
repeat timeHTTP
/*パケット取得部分*/
sockget buf(0), sizeHTTP
if (stat != 0) {
dialog "('A`)", 1, "エラー" : stop
}
/*内容確認*/
if (peek(buf(0), 0) == 0) {
/*受信終了したなら*/
: flg = 1
break
}
: buf(1) = buf(1)+buf(0)
await 100
loop
/*ソケット解放*/
sockclose 0
/*フラグ判定*/
if (flg != 0) {
/*受信成功したなら*/
/*パケットのヘッダから*/
: p = instr(buf(1), 0, "\n\n")
: buf(1) = strmid(buf(1), p, strlen(buf(1)))
: p = instr(buf(1), 0, "<"+tagHTTP+">")
: buf(1) = strmid(buf(1), p+strlen(tagHTTP)+2, strlen(buf(1)))
: p = instr(buf(1), 0, "</"+tagHTTP+">")
: buf(1) = strmid(buf(1), 0, p)
: p = instr(buf(1), 0, ""+keywordHTTP+"")
: buf(1) = strmid(buf(1), p+strlen(keywordHTTP), strlen(buf(1)))
} else {
/*受信失敗したなら*/
: buf(1) = ""
}
return buf(1)
#global
#packopt hide 1
#include "Hspsock.as"
#define IP_CHK_ "OOO.OOO.OOO.OOO"
gIP = getIP()
gIP = strtrim(gIP) ; ゴミ除去
if gIP ! IP_CHK_:end