質問

さて、ここで私がやっていることです。 ファイルをプルダウンするようサーバーにリクエストしています。 これを行うには、通常どおりWebサイトにWebRequestを実行して応答を取得しますが、アクセス許可がないという403エラーが表示されます。

問題は、URLをGoogle Chromeに接続するとリダイレクトされ、要求したファイルがダウンすることです。他のブラウザでURLを試したところ、403エラーが発生しました。

403エラーを回避できるGoogle Chromeの機能は何ですか? Google Chrome User Agentを使用してみましたが、それは役に立ちません。

ヘルプ

役に立ちましたか?

解決 3

助けてくれてありがとう。あなたの答えはどれも私を直接助けてくれませんでしたが、試してくれてありがとう。

プログラムがサーバーからファイルを取得しようとしていました。 Chromeの使用中に、認証の問題を回避し、サーバー上のファイルを見つける方法を見つけました。ユーザーセッションを使用したWebサービスの方がより高度であることがわかりました。

基本的にwebserviceコマンドにアクセスできなかったので、基本的なhttp URLを使用して事前定義された応答を取得するだけでした。サーバーのファイルを取得するために使用したファイルのURLは一意ではなく、webbrowser /セッションに応じて動的でした。 HTTPRequestオブジェクトを使用してHTMLファイルを取得し、解析できるようにしました。 HTMLファイルを使用して解析し、ファイルの動的IDを見つけました(一意であると思いました)。次に、それをURLの末尾に添付します。 Chromeでは、リダイレクトされ、ダウンロードプロンプトが表示されます。問題は、ファイルをプルダウンしたいときにwebbrowserオブジェクトが必要だったことです。これを知って、私はwebbrowserオブジェクトを使用してファイルIDを取得し、次に同じwebbrowserオブジェクト(Webサーバーによると技術的に同じセッション)を使用してファイルをプルダウンしました。

かなり複雑です。基本的に私のプログラムは、サーバーがブロックしようとする機能を提供する小さなハックです。

これがあなたの将来のプロジェクトであなたたちを助けてくれることを願っています。

他のヒント

Webサーバーは、Chromeユーザーエージェントを認識し、ファイルのダウンロードを許可しますが、他のユーザーエージェントによるダウンロードは許可しません。 Google Chromeと同じユーザーエージェント文字列と設定を使用するようにWebRequestを設定します-デフォルトではIE設定を使用している可能性があります。

編集: MSDNからの指示WebRequestユーザーエージェント文字列を設定します。 ブラウザのユーザーエージェントを見つけるには、アドレスバーに次のように入力します。

javascript:prompt('my user agent string is', navigator.userAgent);

403ステータスコードは、到達しようとしているリソースを示します禁止されています。同様に、あなたはそれを得ていないので、尋ねないでください。これは、サーバーがリソースの配信を確認する前に認証チャレンジが提示されるという点で401コードとは異なります。

これはプログラムによる構成である可能性がありますが、Webサーバーを介して構成されたリソースのアクセス制限によって説明される場合もあります。

ダウンロードしたGoogle Chromeのリソースが、到達しようとしている予想されるリソースであることを確認できますか?

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top