パートナー サイト (ドイツの研究機関 "Gesellschaft für Konsumforschung" - https://startrack.gfkrt.com/ ) から一部のデータのスクレイピングを自動化する必要があります。
「サイトは約 10 年前に書かれており、非常に複雑であり、元のプログラマーも約 10 年前に解雇されており、新しいプログラマーはすべてを壊すことを非常に恐れています。何かを変更/追加する」(C). 彼らはまた、「それは彼らの知的財産だから」という理由で情報源を提供したくない.
Telerik コントロールの助けを借りて、ASP.NET Web フォームを使用してサイトを白くします。
そのため、Fiddler を使用して、ブラウザーがサーバーに送信するヘッダーとフォーム データを監視しました。次に、標準の HTTPWebRequest クラスを使用して、同じヘッダーとフォーム データを送信するアプリケーションを作成しました。それは完全に機能しました..しかし、デバッグ中に、Fiddlerを使用して、SSLトンネルを介してアプリによって送信/取得されたデータを監視しています。
しかし、Fiddler の使用を停止すると、アプリが完全に壊れます。サイトを使用せずに実行すると、「重大なエラーが発生しました」というページが常に返されます (5xx エラーが発生したときの標準の IIS 応答ではなく、そのテキストを含むサイトの標準ページのみ)。 .
私のアプリを実行している Fiddler が問題ない場合 - サイトはエラーを返しませんが、そうでない場合 - 「サイトの重大なエラー」があります。私はチャールズと同じことを試しました - 同じ結果 - バックグラウンドで実行されているときはすべて問題ありませんが、エラーがないときは. Fiddler/Charles が実行されていなくても、ブラウザーではすべて問題ありません。
では、何もない HTTPWebRequest と Fiddler/Charles の下の HTTPWebRequest の違いは何でしょうか? コードで何を変更すれば、同じように動作しますか?