Windowsコンソールアプリケーションを使用してURLからPDFをダウンロードしようとしています。私は以下のコードを使用しています:C#コンソールWebclientはデータを返しませんがブラウザは
using (var webClient = new System.Net.WebClient())
{
webClient.Headers.Add("User-Agent", "Mozilla/5.0 (Windows NT 6.3; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/54.0.2840.99 Safari/537.36");
byte[] data = webClient.DownloadData(url);
System.IO.File.WriteAllBytes(@"D:\Files\hello.pdf", data);
}
私はコピーして、私はC#のコンソールアプリケーションで同じしようとすると、ブラウザ/郵便配達中に上記のコードで同じURLを貼り付け、私は、しかし、ファイルを取得する場合、I他のHTML応答を取得します。私はFiddlerを使用してリクエスト/レスポンスを傍受しましたが、私が見ることのできる唯一の違いは、リクエストがブラウザ/ postmanで発生したときに、私たちが作業しているアプリケーションに固有のリクエストに余分なクッキーが追加されていることです。ブラウザ/郵便配達員がどのようにアプリケーション固有のCookieを追加できるのか混乱しています。
すべてのCookieを消去してブラウザから再度試してみましたが、Fiddlerは要求にCookieを表示しています。何が起こっているかに関する手がかりは?
どのようなURLですか? –
頻繁にクッキーが何らかの認証に使用されている...あなたがそれらを入手するために(つまり、最初にページをリクエストするか、ログインを偽って)、ブラウザから盗むことは、クッキー/リファラー/隠れた自動生成フィールドなどをチェックすることによってそのような動作を抑止するように明示的に設定することができます。 –