//D setting ver.1.000 [001]axfc_net [002]axfc.net/uploader/ [004]([^\\/]+)$ [006]true [007]$1 [015]nop [016]auto [019]nop [031]true [032]axfc_net_program2 [033]function axfc_net_program2(){\n\t//=================================================================================\n\t// pass は url の後ろに @ に続けて入れて置いて下さい\n\t// 例 http://www1.axfc.net/uploader/9/so/N9_0000.zip.html@1234567\n\t// ADJUSTMENT で時間の調節をします、単位はミリ秒\n\t//=================================================================================\n\tstatic PASS_ERROR = 'キーワードが違います。ご確認のうえアクセスし直して下さい。';\n\tstatic WAITING_AT_TIME = '時間内にダウンロードされた回数が設定された回数を超えています';\n\tstatic NEXT_TIME = '(\\d+)年(\\d+)月(\\d+)日 (\\d+)時(\\d+)分(\\d+)秒<\\/B>
(この時間に最初にアクセスした方がDLできます。)<\\/TD>';\n\tstatic PRESENT_TIME = '現在の日時<\\/TD>\\s+(\\d+)年(\\d+)月(\\d+)日 (\\d+)時(\\d+)分(\\d+)秒<\\/TD>';\n\tstatic SUCCESS = '
こちらを「右クリック→名前をつけて保存」としてください。<\\/a>';\n\tstatic SUCCESS2 = 'こちらを「右クリック→名前をつけて保存」としてください。';\n\tstatic ERROR_302 = '302 Found';\n\tstatic ONCE_AHEAD = '1回前のダウンロ..ド<\\/TD>\\s+(\\d+)年(\\d+)月(\\d+)日 (\\d+)時(\\d+)分(\\d+)秒<\\/TD>';\n\tstatic ADJUSTMENT = -1200;\n\t//====================================================================================\n\tvar post_url = '';\n\tvar post_input = new Object;\n\tvar post_inputs;\n\tvar post_data = '';\n\tvar data = '';\n\tvar next;\n\tvar present;\n\tvar once_ahead;\n\tvar wait = new Number;\n\tvar post_http;\n\tvar new_url;\n\tvar temp;\n\tvar pass_word;\n\t//===================================================\n\t//pass 取得\n\t//===================================================\n\tpass_word = u.url.slice(u.url.lastIndexOf('@') + 1 , u.url.length);\n\tif(pass_word == u.url){\n\t\tprintln('パスワードがありません。');\n\t\texit();\n\t}\n\tu.url = u.url.slice( 0 , u.url.lastIndexOf('@'));\n\t\n\t//====================================================\n\t//サイトに接続 1回目 (パスの入力画面)\n\t//====================================================\n\tvar http = download(u.url);\n\tif(http.responseHeader.code != 200){\n\t\tprintln('error ');\n\t\tu.url = '';\n\t\tu2.url = '';\n\t\tsleep(10000);\n\t\treturn;\n\t}\n\thttp.data.match(/
/);\n\tpost_url = RegExp.$1;\n\tprintln('url> ' + post_url);\n\tpost_data = axfc_net_post_data(http.data);\n\thttp.data.match(//);\n\tpost_data += '&' + RegExp.$1 + '=' + pass_word;\n\tprintln('post> ' + pass_word);\n\t\n\t//======================================================\n\t//空き待ちのループ\n\t//======================================================\n\tdo{\n\t\tpost_http = post('http://' + u.hostname + post_url , post_data);\n\t\t//println(post_http.data.fromEUCtoSJIS());\n\t\tif(post_http.responseHeader.code != 200){\n\t\t\tprintln('error ');\n\t\t\tu.url = '';\n\t\t\tu2.url = '';\n\t\t\tsleep(10000);\n\t\t\treturn;\n\t\t}\n\t\tdata = post_http.data.fromEUCtoSJIS();\n\t\t//==============================================\n\t\t//時間の計算\n\t\t//==============================================\n\t\tif(data.indexOf(WAITING_AT_TIME) != -1){\n\t\t\tprintln(WAITING_AT_TIME);\n\t\t\tnext = axfc_net_time(data , NEXT_TIME);\n\t\t\tpresent = axfc_net_time(data , PRESENT_TIME);\n\t\t\tonce_ahead = axfc_net_time(data , ONCE_AHEAD);\n\t\t\tprintln('前回 ' + once_ahead.toLocaleString());\n\t\t\tprintln('現在 ' + present.toLocaleString());\n\t\t\tprintln('次回 ' + next.toLocaleString());\n\t\t\twait = next.getTime() - present.getTime() + ADJUSTMENT;\n\t\t\tif(wait < 1000){\n\t\t\t\twait = 1000;\n\t\t\t}\n\t\t\tprintln(wait + 'ミリ秒 待ちます。');\n\t\t\tsleep(wait);\n\t\t\tprintln('時間です。');\n\t\t\tpost_data = axfc_net_post_data(data);\n\t\t\tcontinue;\n\t\t}\n\t\t//========================================\n\t\t//読み込みエラー\n\t\t//========================================\n\t\tif(data.indexOf(ERROR_302)!= -1){\n\t\t\tprintln('post error');\n\t\t\tu.url = '';\n\t\t\tu2.url = '';\n\t\t\tsleep(10000);\n\t\t\treturn;\n\t\t}\n\t\t//=========================================\n\t\t//パスワードエラー\n\t\t//=========================================\n\t\tif(data.indexOf(PASS_ERROR) != -1){\n\t\t\tprintln(PASS_ERROR);\n\t\t\texit();\n\t\t}\n\t\t//=========================================\n\t\t//成功\n\t\t//=========================================\n\t\tif(data.indexOf(SUCCESS2)!= -1){\n\t\t\tprintln('Success!!!');\n\t\t}\n\t\telse{//判らないけど失敗\n\t\t\tprintln('post error');\n\t\t\tu.url = '';\n\t\t\tu2.url = '';\n\t\t\tsleep(10000);\n\t\t\treturn;\n\t\t}\n\t}\n\twhile(false);\n\t//===================================================\n\t//新しいURLをセットしてirvineへ\n\t//===================================================\n\tnew_url = new URL('http://' + u.hostname + post_url);\n\tdata.match(SUCCESS);\n\ttemp = RegExp.$1;\n\tu.url = new_url.expand(temp);\n\tprintln('download url> ' + u.url);\n\tu2.url = u.url;\n}\n//============================================\n//POSTデータの収集\n//============================================\nfunction axfc_net_post_data(data){\n\tvar post_inputs;\n\tvar post_input = new Object;\n\tvar post_data = '';\n\tpost_inputs = data.match(//g);\n\tfor(var i in post_inputs){\n\t\tvar s = post_inputs[i];\n\t\ts.match(//);\n\t\tpost_input[RegExp.$1] = RegExp.$2;\n\t}\n\tfor(var i in post_input){\n\t\tprintln('post> ' + i + ' = ' + post_input[i]);\n\t\tpost_data += i + '=' + post_input[i] + '&';\n\t}\n\tpost_data = post_data.slice( 0 , post_data.length - 1);\n\treturn post_data;\n}\n//=============================================\n//時間処理\n//=============================================\nfunction axfc_net_time(data , pattern){\n\tvar day = new Object;\n\tdata.match(pattern);\n\t\tday.yyyy = RegExp.$1;\n\t\tday.mm = RegExp.$2;\n\t\tday.dd = RegExp.$3;\n\t\tday.hh = RegExp.$4;\n\t\tday.nn = RegExp.$5;\n\t\tday.ss = RegExp.$6;\n\tvar day2 = new Date(day.yyyy , day.mm , day.dd , day.hh , day.nn , day.ss , 00);\n\treturn day2;\n}\n [036]true //end textをクリップボードにコピーして、設定画面でペーストを押して下さい。