get_file raises exception if the content-length is unknown
It seems the bug can be fixed by changing the code in the DLProgbar class in data_utils.py from:

```python
            def __call__(self, block_num, block_size, total_size):
                if not self.progbar:
                    if total_size == -1:
                        total_size = None
                    self.progbar = Progbar(total_size)
```
to:
```python
            def __call__(self, block_num, block_size, total_size):
                if total_size == -1:
                    total_size = None
                if not self.progbar:
                    self.progbar = Progbar(total_size)
```
 The crash is caused by the fact that total_size is -1 but the progbar has been created so it isn't turned into None. But the code later assumes only None but not -1 means size unknown. @freemant2000,
I tried to execute the code in an alternative approach and **tf.keras.utils.get_file** working as expected & executed the code without any issue/error. Kindly find the gist of it [here](https://colab.research.google.com/gist/tilakrayal/2a8f050485f2640a22ed5e13ce77f1e9/untitled1211.ipynb).

Also it was mentioned above to modify the code, but the code was working without any issues. Could you please provide any unit test case for the statement mentioned. It will be easy to analyse and debug the issue. Thank you! As shown in the colab tests, it fails on http://archive.ics.uci.edu/ml/machine-learning-databases/auto-mpg/auto-mpg.data but works on some other URLs because the former doesn't include a Content-Length header in the HTTP response, which causes the code to fail. I have made a unit test demonstrating the problem. Please find the files attached.
[DLProgbar-unit-test.zip](https://github.com/tensorflow/tensorflow/files/11832255/DLProgbar-unit-test.zip)
 Hi, 

I was able to execute the code in Tf-nightly without any issues, please find the attached Gist [here](https://gist.github.com/sachinprasadhs/02ecff6555b025e0b3aef0ef4e6dec8b) for reference. Thanks!

 This issue is stale because it has been open for 7 days with no activity. It will be closed if no further activity occurs. Thank you. This issue was closed because it has been inactive for 7 days since being marked as stale. Please reopen if you'd like to work on this further. Are you satisfied with the resolution of your issue?
<a href="https://docs.google.com/forms/d/e/1FAIpQLSfaP12TRhd9xSxjXZjcZFNXPGk4kc1-qMdv3gc6bEP90vY1ew/viewform?entry.85265664=Yes&entry.2137816233=https://github.com/tensorflow/tensorflow/issues/60932">Yes</a>
<a href="https://docs.google.com/forms/d/e/1FAIpQLSfaP12TRhd9xSxjXZjcZFNXPGk4kc1-qMdv3gc6bEP90vY1ew/viewform?entry.85265664=No&entry.2137816233=https://github.com/tensorflow/tensorflow/issues/60932">No</a>

<details><summary>Click to expand!</summary> 
 
 ### Issue Type

Bug

### Have you reproduced the bug with TF nightly?

No

### Source

binary

### Tensorflow Version

2.11.0

### Custom Code

No

### OS Platform and Distribution

Ubuntu 22.04.2 LTS

### Mobile device

_No response_

### Python version

3.10.6

### Bazel version

_No response_

### GCC/Compiler version

_No response_

### CUDA/cuDNN version

_No response_

### GPU model and memory

_No response_

### Current Behaviour?

Calling get_file on a URL that doesn't indicate the content-length causes an exception.


### Standalone code to reproduce the issue

```shell
import tensorflow as tf

p=tf.keras.utils.get_file(fname="auto-mpg.csv",
  origin="http://archive.ics.uci.edu/ml/"+
  "machine-learning-databases/auto-mpg/auto-mpg.data")
print(p)
```


### Relevant log output

```shell
Downloading data from http://archive.ics.uci.edu/ml/machine-learning-databases/auto-mpg/auto-mpg.data
   8192/Unknown - 0s 0us/stepTraceback (most recent call last):
  File "/home/kent/env-ml/src/f3.py", line 3, in <module>
    p=tf.keras.utils.get_file(fname="auto-mpg.csv",
  File "/home/kent/env-ml/lib/python3.10/site-packages/keras/utils/data_utils.py", line 300, in get_file
    urlretrieve(origin, fpath, DLProgbar())
  File "/home/kent/env-ml/lib/python3.10/site-packages/keras/utils/data_utils.py", line 86, in urlretrieve
    for chunk in chunk_read(response, reporthook=reporthook):
  File "/home/kent/env-ml/lib/python3.10/site-packages/keras/utils/data_utils.py", line 78, in chunk_read
    reporthook(count, chunk_size, total_size)
  File "/home/kent/env-ml/lib/python3.10/site-packages/keras/utils/data_utils.py", line 294, in __call__
    self.progbar.update(self.progbar.target)
  File "/home/kent/env-ml/lib/python3.10/site-packages/keras/utils/generic_utils.py", line 252, in update
    bar = "%7d/Unknown" % current
TypeError: %d format: a real number is required, not NoneType
```
</details>