COLAB fetch_20newsgroups gets 403 from https://ndownloader.figshare.com/files/5975967 but OK with browser

### Describe the bug

COLAB 

```
fetch_20newsgroups (20news-bydate.tar.gz) gets 403 from https://ndownloader.figshare.com/files/5975967 [which is really https://s3-eu-west-1.amazonaws.com/pfigshare-u-files/5975967/20newsbydate.tar.gz].
```

It might be AWS are blocking Google Colab addresses.

```python
ARCHIVE = RemoteFileMetadata(
    filename="20news-bydate.tar.gz",
    url="https://ndownloader.figshare.com/files/5975967",
    checksum="8f1b2514ca22a5ade8fbb9cfa5727df95fa587f4c87b786e15c759fa66d95610",
)
XX = _fetch_remote(ARCHIVE)

import urllib
import requests
response = requests.get("https://ndownloader.figshare.com/files/5975967",headers=headers)
print (response.text)
```

### Steps/Code to Reproduce

```python
fetch_20newsgroups gets 403 from https://ndownloader.figshare.com/files/5975967

ARCHIVE = RemoteFileMetadata(
    filename="20news-bydate.tar.gz",
    url="https://ndownloader.figshare.com/files/5975967",
    checksum="8f1b2514ca22a5ade8fbb9cfa5727df95fa587f4c87b786e15c759fa66d95610",
)
XX = _fetch_remote(ARCHIVE)

import urllib
import requests
response = requests.get("https://ndownloader.figshare.com/files/5975967",headers=headers)
print (response.text)
```

### Expected Results

403 should not be presented

### Actual Results

<html>
<head><title>403 Forbidden</title></head>
<body>
<center><h1>403 Forbidden</h1></center>
</body>
</html>

### Versions

```shell
System:
    python: 3.10.12 (main, Nov 20 2023, 15:14:05) [GCC 11.4.0]
executable: /usr/bin/python3
   machine: Linux-6.1.85+-x86_64-with-glibc2.35

Python dependencies:
      sklearn: 1.2.2
          pip: 23.1.2
   setuptools: 67.7.2
        numpy: 1.25.2
        scipy: 1.11.4
       Cython: 3.0.10
       pandas: 2.0.3
   matplotlib: 3.7.1
       joblib: 1.4.2
threadpoolctl: 3.5.0

Built with OpenMP: True

threadpoolctl info:
       user_api: blas
   internal_api: openblas
    num_threads: 2
         prefix: libopenblas
       filepath: /usr/local/lib/python3.10/dist-packages/numpy.libs/libopenblas64_p-r0-5007b62f.3.23.dev.so
        version: 0.3.23.dev
threading_layer: pthreads
   architecture: Haswell

       user_api: openmp
   internal_api: openmp
    num_threads: 2
         prefix: libgomp
       filepath: /usr/local/lib/python3.10/dist-packages/scikit_learn.libs/libgomp-a34b3233.so.1.0.0
        version: None

       user_api: blas
   internal_api: openblas
    num_threads: 2
         prefix: libopenblas
       filepath: /usr/local/lib/python3.10/dist-packages/scipy.libs/libopenblasp-r0-23e5df77.3.21.dev.so
        version: 0.3.21.dev
threading_layer: pthreads
   architecture: Haswell
```

COMMENT:
Hi Guillaume

Yes it is inconsistent. It works in colab now but not in anaconda cloud. I have created new colab notebook otherwise it will use the cache but it still works.

Regards Conwyn
________________________________
From: Guillaume Lemaitre ***@***.***>
Sent: 16 June 2024 11:23
To: scikit-learn/scikit-learn ***@***.***>
Cc: Conwyn ***@***.***>; Author ***@***.***>
Subject: Re: [scikit-learn/scikit-learn] COLAB fetch_20newsgroups gets 403 from https://ndownloader.figshare.com/files/5975967 but OK with browser (Issue #29271)


You can look at the issue that I linked at you will see that the investigations shows that this is not reliable. We are sure if this is an issue of the server requesting or receiving the request but this is not working as expected.

—
Reply to this email directly, view it on GitHub<https://github.com/scikit-learn/scikit-learn/issues/29271#issuecomment-2171410359>, or unsubscribe<https://github.com/notifications/unsubscribe-auth/AJOWWTSTCYJIVQRVPG3K3VTZHVRTVAVCNFSM6AAAAABJLBZ6F2VHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDCNZRGQYTAMZVHE>.
You are receiving this because you authored the thread.Message ID: ***@***.***>

Labels: Bug, Needs Triage