HttpWebRequestについての質問です。
JavaScript実行後のHTMLを取得する方法を教えて下さい。
現在HttpWebRequestのGetResponseメソッドで特定URLのHTMLを取得するコードを実装しているのですが、
取得したHTMLから、さらに呼ばれているJavaScriptの処理で、そのHTMLの内容が変わります。
※innerHTML 等で
JavaScriptが処理された後のHTMLを自動的に生成する方法を教えて下さい。
【code】
bool GET(){
try{
req->Method = "GET";
res = (HttpWebResponse^)req->GetResponse();
return_statuscord = res->StatusCode;
return_header = res->Headers;
return_url = res->ResponseUri->ToString();
st = res->GetResponseStream();
sr = gcnew StreamReader(st, enc);
return_body = sr->ReadToEnd();
sr->Close();
st->Close();
}catch(Exception^ ex){
ex;
return false;
}
return true;
}
[/code]
HttpWebRequestについての質問です。
Re: HttpWebRequestについての質問です。
System::Web::HttpWebRequestは,あくまで指定されたURIのリソースへのアクセスを行うだけのものです。
JavaScriptの解釈は,JavaScriptを実行するなりして,別途行う必要があります。
手っ取り早いのはWebBrowser系のコンポーネントを使うことですが,例えばSystem::Windows::Forms::WebBrowserはWinForms系コンポーネントなのでSTAスレッドのみで利用できるなどの制限がありますし,
JavaScript処理の終了を知る方法は直接的には用意されていません。
そもそもなんのためにJavaScriptの解釈が必要なのでしょうか。
自前のサービスでしたら解釈する必要のないようなAPIを提供すればよいですし,他人のサービスでしたら,
# 当然,最初の方法以外はお薦めできません。
JavaScriptの解釈は,JavaScriptを実行するなりして,別途行う必要があります。
手っ取り早いのはWebBrowser系のコンポーネントを使うことですが,例えばSystem::Windows::Forms::WebBrowserはWinForms系コンポーネントなのでSTAスレッドのみで利用できるなどの制限がありますし,
JavaScript処理の終了を知る方法は直接的には用意されていません。
そもそもなんのためにJavaScriptの解釈が必要なのでしょうか。
自前のサービスでしたら解釈する必要のないようなAPIを提供すればよいですし,他人のサービスでしたら,
- 正規のAPIを利用する (あれば)
- 自分でJavaScriptを解釈する
- 自分で結果を捏造する
# 当然,最初の方法以外はお薦めできません。