こんにちは皆さん、 301
を受け取った後、別のURLにリダイレクトする前にURLにリクエストを送信するのに問題があります。
request('http://www.tanitbar.ru/menu.aspx?cat=6', function (error, response, body) {
console.log('error:', error);
console.log("response", response);
});,
1)最初の応答には301に等しいステータスコードが含まれています(つまり、 location
ヘッダーからURLにリダイレクトする必要がありますが、エンコードされたロシア語の文字が含まれています: СалаÑÑ
2)このURL( http://www.tanitbar.ru/СалаÑÑ
)が存在しないため、 404
エラーが発生します
ステータスコードが200
に等しいページのhtml本文を取得することを期待します
今のところ404
を取得しています
curl
は正常に機能し、301を受信した後に別のURLにリダイレクトします
curl "http://www.tanitbar.ru/menu.aspx?cat=6" -L
、(curlはデフォルトではリダイレクトされないため、 -L
オプションを渡す必要があります)
リダイレクトする前に、何らかの方法でロケーションヘッダーをデコードする必要があると思います(ちなみに、手動でデコードすることはできませんでした)
JSからページのコンテンツを受信できませんでした。
| ソフトウェア| バージョン
| ---------------- | -------
| リクエスト| ^ 2.83.0
| ノード| 8.7.0
| npm | 5.4.2
| オペレーティングシステム| Linux、Ubuntu
前もって感謝します!
そのヘッダーのエンコーディングで何かをすることさえありますか? Node.jsのパーサーから正しく取得できると思います。
@mikealhttps ://github.com/nodejs/node/issues/17390が関連している可能性があります
ちなみに、そのBuffer.from(location, 'binary').toString('utf8')
は私のために働きます。
この問題は、最近のアクティビティがないため、自動的に古いものとしてマークされています。 それ以上のアクティビティが発生しない場合は閉じられます。 貢献していただきありがとうございます。
最も参考になるコメント
@mikealhttps ://github.com/nodejs/node/issues/17390が関連している可能性があります
ちなみに、その
Buffer.from(location, 'binary').toString('utf8')
は私のために働きます。