HttpWebRequestについての質問です。

フォーラム(掲示板)ルール
フォーラム(掲示板)ルールはこちら  ※コードを貼り付ける場合は [code][/code] で囲って下さい。詳しくはこちら
fasdfasdfasd

HttpWebRequestについての質問です。

#1

投稿記事 by fasdfasdfasd » 9年前

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]

YuO
記事: 947
登録日時: 14年前
住所: 東京都世田谷区

Re: HttpWebRequestについての質問です。

#2

投稿記事 by YuO » 9年前

System::Web::HttpWebRequestは,あくまで指定されたURIのリソースへのアクセスを行うだけのものです。
JavaScriptの解釈は,JavaScriptを実行するなりして,別途行う必要があります。

手っ取り早いのはWebBrowser系のコンポーネントを使うことですが,例えばSystem::Windows::Forms::WebBrowserはWinForms系コンポーネントなのでSTAスレッドのみで利用できるなどの制限がありますし,
JavaScript処理の終了を知る方法は直接的には用意されていません。


そもそもなんのためにJavaScriptの解釈が必要なのでしょうか。
自前のサービスでしたら解釈する必要のないようなAPIを提供すればよいですし,他人のサービスでしたら,
  • 正規のAPIを利用する (あれば)
  • 自分でJavaScriptを解釈する
  • 自分で結果を捏造する
等の方法を使う必要があります。
# 当然,最初の方法以外はお薦めできません。

閉鎖

“C言語何でも質問掲示板” へ戻る