プロセルピナ
Top Internet
Mail
Private
Proxy
Capture
Device
Download Config
and
Words
Online
Help
Online
Home
[BACK]
Top > FileDownload > Macro > Ex: Command > Http-Get

 
 Ex:Http-Getコマンド
Download Top | Macro Top | Command | ExCommand  


 

書式


Ex:Http-Get:   url=(url_string)   base=(refer_string)   userAgent=(userAgent_string)   acceptLanguage=(acceptLanguage_string)   autoRefreshSec=(httpEquivRefreshTime_second)   minimumWaitSec=(timeout_second)   totalWaitSec=(total_timeout_second)   O:text=str[(text_index)]   O:bin=str[(filename_index)]   O:result=int[(result_index)]   O:lastUrl=str[(lastUrl_index)]   O:cType=str[(contentType_index)]   O:ext=str[(fileExtension_index)]  

Http-Getで、指定したURLのページを取得します。
url= 以外の指定は省略可能です。


プロキシについて

テキストフォーム環境設定面で、 プロキシ設定を行っていた場合、 そのプロキシを使用したアクセスになります。
ただし、 「プロセルピナ」 version1.05 以降で追加された proxy=preResolve= パラメータにより、 それに優先して使用するプロキシを コマンド内で指定することが可能です。
詳しくは、 Ex:Http-Getコマンド、Ex:Http-Postコマンドでのプロキシ指定 を参照してください。

入力
url= : string, アクセスするURL
base= : string, Refererヘッダに設定するURL
userAgent= : string, UserAgentヘッダに設定するURL
acceptLanguage= : string, Accept-Languageヘッダに設定する値
autoRefreshSec= : int, http-equiv-Refreshの自動転送許容値[秒]
minimumWaitSec= : int, 許容する最大無受信間隔[秒]
totalWaitSec= : int, http-Postの最大完了待ち時間[秒]

出力
O:text= : string, テキスト応答された内容を設定する文字列配列
O:bin= : string, 応答を格納したファイル名を設定する文字列配列
O:result= : int, サーバ応答を格納する整数配列のインデックス
O:lastUrl= : string, 最終的なURLを格納する文字列配列のインデックス
O:cType= : string, 応答ヘッダのContentType
O:ext= : string, ContentTypeから最適と判断されるファイル拡張子


・  ローカル文字列配列を使用する場合は、str[ ] の部分が strl[ ] になります。
・  ローカル整数配列を使用する場合は、int[ ] の部分が intl[ ] になります。

・  アクセスするURLを url= で、 referer(参照元)に設定する値を base= で指定します。
base= の指定は省略可能です。 url=に、 Referer併記URL で指定した場合は、 base= の指定があっても無視されます。

・  http応答で転送(他ページ参照, 303-See Otherなど)が指示された場合は、 このコマンドの内部でLocationヘッダで指定されたURLを自動取得します。 この処理はautoRefreshSec=で指定した値とは関係なく行われます。

・  autoRefreshSec=で指定した値は、取得したページに
  <meta http-equiv="Refresh" content=" ...
の指定がある場合に参照されます。 タグのcontentで指定されていた自動転送までの待ち時間が、 autoRefreshSec=で指定した値と同じか それより小さい場合には、このコマンドの中で次ページを自動取得します。
指定を省略した場合はデフォルトの 3(秒) が設定されます。
noscriptタグで囲まれた範囲内にあるmetaタグは参照しません。
metaタグによる自動転送を無効にしたい場合は、 -1 を指定します。

・  userAgent= の設定を省略した場合、Http-GetのUserAgentヘッダには 「プロセルピナ」が内部で持っているデフォルト値 が設定されます。
userAgent=を指定する場合、

のような表記で、エミュレートしたいWebブラウザの設定値を指定します。

・  acceptLanguage= の設定を省略した場合、Http-GetのAccept-Languageヘッダには デフォルト値として、
  ja,en-us,en;q=0.5
が設定されます。
検索結果など、Accept-Languageヘッダの値によって応答される内容が変化する場合があります (表示言語だけでなく、応答内容そのものが違う場合があります)。
【Tips】 en-us,en;q=0.5 を指定すると、より多くの検索結果が得られる場合があります。

・  O:lastUrlに設定されるのは最終的にアクセスしたURLです。 例えば、URL-A にアクセスすると303応答でURL-Bに転送され、 そこで更にHTMLのmetaタグで URL-C に転送された場合は URL-C が設定されます。
アクセスで最終的に得られた結果は O:text(テキスト応答の場合) もしくは O:bin(テキストにデコードする前の応答) で指定した場所に設定されています。

・  サーバからのHttp応答で Locationヘッダや HTMLのmetaタグなどによる転送指示が無かった場合は、O:lastUrlで設定される内容は url=で指定したURLと同じです。

・  O:bin=の右辺に str[ ] または strl[ ] を指定した場合は、 バイナリデータを保存したファイル名が文字列配列に設定されます。 bin[ ] または binl[ ] を指定した場合は、 バイナリデータそのものがバイト列配列に設定されます。
画像など、テキストに変換できないバイナリデータで応答された場合、 O:textで指定された文字列変数には 空の文字列が設定されます。

・  受信において、minimumWaitSec=で指定した値(秒単位)以上の間隔が開いた場合は、通信エラーになります。 通信エラーの場合、O:result=には負値が設定されます。
minimumWaitSec=の指定を省略した場合は、デフォルト値の
  30(秒)
が設定されます。

Ex:Http-Postコマンドでファイルをアップロードする場合、 minimumWaitSecには十分に大きな値を設定する必要があります。 「プロセルピナ」がOSに、インターネットに送信するデータを全て渡してから、 何らかの応答を受け取るまでに、 minimumWaitSec値以上の間隔が開いた場合、 通信エラーとして処理されてしまいます。 大きなファイルをアップロードする場合、OSにデータを渡し終わってから実際にデータが送信し終わるまで、 しばらく時間がかかります。その間も無受信時間としてカウントされます。

minimumWaitSec=で指定した値以内に次データを受信できている場合でも、受信開始から totalWaitSec=で指定した値以上の時間が経過した場合、 通信エラーとして、O:result=には負値が設定し、エラー終了します。
totalWaitSec=の指定を省略した場合は、デフォルト値の
  3600(秒)
が設定されます。
ホストの負荷状況、取得するファイルのサイズなどにより、1つのダウンロードに1時間以上かかる場合があるホストにアクセスする場合、 この値を大きめに設定しておく必要があります。(stage6など)

・  TCP/IPレベルでの通信エラーの場合、 O:result= で指定した数値変数には負値が設定されます。 それ以外ではサーバの応答値が設定されます。 例えば、「403 Forbidden応答」の場合には 403 が設定されます。

・  参考: Ex:Http-Postコマンド

 

記述例


例1:

例2:

上記「例2」において、O:binで指定した str[100] に設定される文字列は、ファイル名になります。

 

Sample


http://www.example.com/welcome/login.cgi のURLに、 Http-GetヘッダのRefer値を http://www.example.com/index.html に設定してアクセスし、 サーバから応答された内容に 「●●●のページにようこそ!」 の文字列が含まれていた場合に「アクセス成功」と結果を表示します。




O:resultの判定例を示します。






[BACK]
プロセルピナ