私はコンソールからログインできるようにするいくつかのCasperJSスクリプトを書いています。しかし、https://www.zara.com/us/
にログインしようとすると、HTTP 412前提条件が失敗し続けます。私は--ssl-protocol=any
と--ignore-ssl-erros=true
を試しましたが、問題は解決しません。誰もがこれを修正する方法を知っていますか?CasperJSでHTTP 412を入手する
ありがとうございます!
私はコンソールからログインできるようにするいくつかのCasperJSスクリプトを書いています。しかし、https://www.zara.com/us/
にログインしようとすると、HTTP 412前提条件が失敗し続けます。私は--ssl-protocol=any
と--ignore-ssl-erros=true
を試しましたが、問題は解決しません。誰もがこれを修正する方法を知っていますか?CasperJSでHTTP 412を入手する
ありがとうございます!
--web-security=false
でも試してみることができますが、問題はHTTPSに関連しているとは思われません。この単純なスクリプトでは、私は(私はオプションなしでそれを実行していても)200のコードを取得する:あなたがフォームを記入したり、リクエストのHTTPヘッダに際
var casper = require('casper').create();
casper.start('https://www.zara.com/us/');
casper.then(function() {
this.echo(this.getTitle());
});
casper.run();
あなたのコードで間違った可能性が高いものがあります。
HTTP 412前提条件の失敗クライアントエラー応答コードが示す ターゲット・リソースへのアクセスを拒否されています:記録のために、ここでは412エラーの説明(MDN)です。これは、 条件がIf-Unmodified-SinceヘッダーまたはIf-None-Matchヘッダーで定義された条件 が満たされていない場合に、 のGETまたはHEAD以外のメソッドに対する条件付き要求で発生します。その場合、リクエスト(通常はリソースのアップロードまたは の変更)を行うことはできず、このエラー応答は が返されます。
このテストスクリプトは問題なく動作します。ユーザエージェントのどちらかを疑うか、おそらく、彼らはあなたがそれらをこするとサービスの任期を壊していることを考え出したセキュリティシステムを持っている
casper.options.viewportSize = { width:1024, height: 800 }
casper.test.begin('ZARA', 1, function (test) {
casper.userAgent('Mozilla/5.0 (Macintosh; Intel Mac OS X)');
casper.start("https://www.zara.com/us/", function() {
test.assertTitle("ZARA United States - Official Website");
});
casper.waitUntilVisible("#newsletter-subscribe-form", function() {
this.capture("pass.jpg");
}, function() {
this.capture("fail.jpg");
});
casper.run(function() {
test.done();
});
});
をviewportsize。 – Evert