1

誰かがこれについて私を助けてくれますか? 特定の Web ページの JPG を保存するように PhantomJS をセットアップするのにかなりの時間を費やしましたが、プロキシ経由でネットにアクセスするマシンに展開するまでは、非常にうまく機能します。今、私が何をしようとしても、認証を正しく取得できませんか? 誰かがこれをやったことがありますか?

コマンドライン引数を使用しています: --proxy=xx.xx.xx.xx:8080 --proxy-type=http --proxyAuth=myusername:mypassword

コマンドラインを使用して送信しているユーザー名ではなく、ユーザー名が匿名であると主張するプロキシ(TMG)を確認しました。

--debug から、proxy、proxyType、proxyAuth がすべて正しく設定されていることがわかります。そのため、PhantomJS はコマンド ラインを理解していますが、実行すると「Proxy requires authentication」が返されます。

どこが間違っていますか?

これを読んでくれてありがとう。

ところで-私はWindows 7を使用しています-64ビット

4

2 に答える 2

1

OK、だから私はこれを掘り下げて、それを機能させました。ですから、他の人の助けになるかもしれない場合に備えて、私が見つけたものを公開すると思いました.

私が調べていたときに見つけたものの 1 つは、PhantomJS を駆動するために使用される JS によって送信されるヘッダーに以下を含めることについて少し議論があったことです。

page.customHeaders={'Authorization': 'Basic '+btoa('username:password')};

使用するのではなく

page.settings.userName = 'username';
page.settings.password = 'password';

これは機能しません。以前のディスカッションを参照してください

プロキシで基本レベルの認証を使用している場合は、これで問題ありません。統合認証を使用している場合は、NTLM/Kerberos などが必要になるため、機能しません。

これを回避するには、クライアントの設定を変更します。

プロキシ経由でルーティングせずに、クライアントが外の世界にアクセスできるようにする必要があります。確かに TMG では、これは、クライアント ハードウェアにインストールされているクライアント ネットワーク ソフトウェアに適用される設定を変更することによって行われます。

PhantomJS 実行可能ファイルがプロキシをバイパスできるようにすることで、私や他の多くの人が経験した問題を克服できますが、システムのセキュリティを破っただけなので、まだ少し問題があることに注意してください。 NTLM/Kerberos を処理する新しいバージョンの PhantomJS。

または、プロキシを基本認証を使用するように変更します。これにより、customHeaders ソリューションを上記のように使用できるようになりますが、これは、クライアントがプロキシをバイパスできるようにするよりも、セキュリティ上のリスクがさらに大きくなる可能性があります。

于 2013-09-16T09:23:29.830 に答える