Cloudflare wgetは動作しますが、403のためにカールとnodejsが失敗します。

Cloudflare wgetは動作しますが、403のためにカールとnodejsが失敗します。

ダウンロードしたいウェブサイトがありますが、何とかwget(およびブラウザ自体)だけが機能しますが、他のものcurl(またはnodejs https.get)は機能せず失敗します。403 Forbidden

Wget出力(有効):

GET /path HTTP/1.1
Host: somesite.com
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101 Firefox/102.0
Accept: */*
Accept-Encoding: identity
Connection: Keep-Alive

カール出力(403):

> GET /path HTTP/2
> Host: somesite.com
> accept: */*
> user-agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101 Firefox/102.0

Firefox出力(有効):

GET /path HTTP/2
Host: somesite.com
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101 Firefox/102.0
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,*/*;q=0.8
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate, br
DNT: 1
Connection: keep-alive
Upgrade-Insecure-Requests: 1
Sec-Fetch-Dest: document
Sec-Fetch-Mode: navigate
Sec-Fetch-Site: cross-site

NodeJS(403):

GET /path HTTP/1.1
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101 Firefox/102.0
Host: somesite.com
Connection: close

私は努力しました:

  • すべてのツールでConnectionに設定Keep-Alive
  • Firefoxのすべてのヘッダーをツールにコピーする

編集、次の内容を含めることを忘れました。

  • その間に既知のプロキシはありません。
  • カールを使ってみましたが、-c cookies私が知っている限り、クッキーは関係ありません。

カールやnodejsで強制的に順序を付ける方法がわからないため、タイトルを並べ替えようとはしませんでした。

システム:万座路21.3.2

PS:すべてのツールは同じURLを使用します。

ベストアンサー1

おすすめ記事