WebClient の GET 要求を使用して Web サイトから GUI を更新する Windows フォーム アプリケーションがあります。ただし、これらの値の一部は JavaScript を使用して Web ページで更新されるため、ユーザーは値を取得するためにページを更新し続ける必要はありません。新しい GET リクエストを送信し続けることなく、プログラムにこれらの値を取得させるにはどうすればよいでしょうか。
3 に答える
JavaScript で行うように C# で何かを実行できるようにしたいが、「新しい GET 要求を送信し続ける」必要はないと言っています。問題は、それがまさにJavaScript が行っていることです。たまたま舞台裏で非同期に実行しているだけです。C# でもまったく同じことができます。JavaScript は舞台裏で GET または POST リクエストを実行しているだけで、C# でもまったく同じリクエストを実行できます。
あなたが望むことを正確に行うための最良の方法は、スクレイピングしているページの値を更新する JavaScript をリバース エンジニアリングすることです。それを超えて、あなたがしていることは私たちができる最善のことです.
プラス面としては、javascript はプレーン テキストのソース コードにすぎないため、ざっと見ることができます。しかし、そうすることの合法性は、あなたがどこにいるかによって異なります. 米国を含むほとんどの場所では、オンライン コードを見るだけで合法です。再現ではありません。しかし、Oracle 対 Google の裁判で判事が言ったように、単一の関数に著作権を適用するのは意味がありません (言い換えれば、彼は「単一の関数」ではなく「range_check」と言いました)。
JavaScript が難読化されている場合は、きれいなプリンターにコピーして貼り付けます。「JavaScriptプリティプリンター」のGoogleだけ。それらはオンラインでたくさんあります。
または、非表示の Web ブラウザーからタイマーを GetElementById に設定するだけです。