diff --git a/kivy/network/urlrequest.py b/kivy/network/urlrequest.py
index 4b55b73f3..798bb6e09 100644
--- a/kivy/network/urlrequest.py
+++ b/kivy/network/urlrequest.py
@@ -334,7 +334,8 @@ class UrlRequest(Thread):
         if timeout is not None:
             args['timeout'] = timeout
 
-        if ca_file is not None and hasattr(ssl, 'create_default_context'):
+        if (ca_file is not None and hasattr(ssl, 'create_default_context') and
+                parse.scheme == 'https'):
             ctx = ssl.create_default_context(cafile=ca_file)
             ctx.verify_mode = ssl.CERT_REQUIRED
             args['context'] = ctx

Regular http requests via UrlRequest fail on Android
**Software Versions**
* Python: v3.8.1
* OS: Android 9 API29
* Kivy: v2.0.0rc2
* Kivy installation method: python-for-android develop

**Describe the bug**
Since #6703, regular http requests via urlrequest no longer work on android. The on_error function of urlrequest is called, while on desktop it is successful. Going back to kivy v2.0.0rc1 fixes it, but this version has broken https.

**Expected behavior**
Successful regular http requests.

**To Reproduce**
```python
from kivy.app import runTouchApp
from kivy.uix.widget import Widget
from kivy.network.urlrequest import UrlRequest


class Test(Widget):
    def __init__(self, **kwargs):
        super(Test, self).__init__(**kwargs)
        UrlRequest(
            url='http://lipsum.com/',
            on_error=lambda *args: print('error:', args),
            on_failure=lambda *args: print('fail:', args),
            on_redirect=lambda *args: print('redir:', args),
            on_success=lambda *args: print('success:', args)
        )
        UrlRequest(
            url='https://lipsum.com/',
            on_error=lambda *args: print('error:', args),
            on_failure=lambda *args: print('fail:', args),
            on_redirect=lambda *args: print('redir:', args),
            on_success=lambda *args: print('success:', args)
        )


runTouchApp(Test())

```

**Code and Logs and screenshots**
```python
TypeError("__init__() got an unexpected keyword argument 'context'")
```

diff --git a/kivy/tests/test_urlrequest.py b/kivy/tests/test_urlrequest.py
index 2d0ae5e55..a9e3ba29d 100644
--- a/kivy/tests/test_urlrequest.py
+++ b/kivy/tests/test_urlrequest.py
@@ -130,3 +130,29 @@ def test_auth_auto(kivy_clock):
     ensure_called_from_thread(queue)
     check_queue_values(queue)
     assert queue[-1][2] == ({'authenticated': True, 'user': 'user'}, )
+
+
+@pytest.mark.skipif(os.environ.get('nonetwork'), reason="no network")
+@pytest.mark.parametrize("scheme", ("http", "https"))
+def test_ca_file(kivy_clock, scheme):
+    """Passing a `ca_file` should not crash on http scheme, refs #6946"""
+    from kivy.network.urlrequest import UrlRequest
+    import certifi
+    obj = UrlRequestQueue([])
+    queue = obj.queue
+    req = UrlRequest(
+        f"{scheme}://httpbin.org/get",
+        on_success=obj._on_success,
+        on_progress=obj._on_progress,
+        on_error=obj._on_error,
+        on_redirect=obj._on_redirect,
+        ca_file=certifi.where(),
+        debug=True
+    )
+    wait_request_is_finished(kivy_clock, req)
+
+    if req.error and req.error.errno == 11001:
+        pytest.skip('Cannot connect to get address')
+
+    ensure_called_from_thread(queue)
+    check_queue_values(queue)

pip install -e .[dev,full]
parse_log_pytest
pytest
pytest pytest-cov pytest-xdist pytest-mock pytest-asyncio
apt-get update apt-get install -y libsdl2-dev libsdl2-ttf-dev libsdl2-image-dev libsdl2-mixer-dev libgstreamer1.0-dev gstreamer1.0-alsa gstreamer1.0-plugins-base libsmpeg-dev libswscale-dev libavformat-dev libavcodec-dev libjpeg-dev libtiff5-dev libx11-dev libmtdev-dev build-essential libgl1-mesa-dev libgles2-mesa-dev xvfb pulseaudio xsel
3.9
pytest --no-header -rA --tb=line --color=no -p no:cacheprovider -W ignore::DeprecationWarning
actdiag==3.0.0
alabaster==0.7.16
altgraph==0.17.4
babel==2.17.0
blockdiag==3.0.0
certifi==2025.1.31
charset-normalizer==3.4.1
coverage==7.8.0
docutils==0.21.2
exceptiongroup @ file:///croot/exceptiongroup_1706031385326/work
execnet==2.1.1
flake8==7.2.0
funcparserlib==2.0.0a0
idna==3.10
imagesize==1.4.1
importlib_metadata==8.6.1
iniconfig @ file:///home/linux1/recipes/ci/iniconfig_1610983019677/work
Jinja2==3.1.6
-e git+https://github.com/kivy/kivy.git@e4de92ca12594d8060ccf25766a4256cec3e25fa#egg=Kivy
Kivy-Garden==0.1.5
MarkupSafe==3.0.2
mccabe==0.7.0
nwdiag==3.0.0
packaging @ file:///croot/packaging_1734472117206/work
pillow==11.1.0
pluggy @ file:///croot/pluggy_1733169602837/work
pycodestyle==2.13.0
pyflakes==3.3.2
Pygments==2.19.1
pyinstaller==6.12.0
pyinstaller-hooks-contrib==2025.2
pytest @ file:///croot/pytest_1738938843180/work
pytest-asyncio==0.26.0
pytest-cov==6.0.0
pytest-mock==3.14.0
pytest-timeout==2.3.1
pytest-xdist==3.6.1
requests==2.32.3
seqdiag==3.0.0
snowballstemmer==2.2.0
Sphinx==7.4.7
sphinxcontrib-actdiag==3.0.0
sphinxcontrib-applehelp==2.0.0
sphinxcontrib-blockdiag==3.0.0
sphinxcontrib-devhelp==2.0.0
sphinxcontrib-htmlhelp==2.1.0
sphinxcontrib-jsmath==1.0.1
sphinxcontrib-nwdiag==2.0.0
sphinxcontrib-qthelp==2.0.0
sphinxcontrib-seqdiag==3.0.0
sphinxcontrib-serializinghtml==2.0.0
tomli @ file:///opt/conda/conda-bld/tomli_1657175507142/work
typing_extensions==4.13.0
urllib3==2.3.0
webcolors==24.11.1
zipp==3.21.0

name: kivy
channels:
  - defaults
  - https://repo.anaconda.com/pkgs/main
  - https://repo.anaconda.com/pkgs/r
  - conda-forge
dependencies:
  - _libgcc_mutex=0.1=main
  - _openmp_mutex=5.1=1_gnu
  - ca-certificates=2025.2.25=h06a4308_0
  - exceptiongroup=1.2.0=py39h06a4308_0
  - iniconfig=1.1.1=pyhd3eb1b0_0
  - ld_impl_linux-64=2.40=h12ee557_0
  - libffi=3.4.4=h6a678d5_1
  - libgcc-ng=11.2.0=h1234567_1
  - libgomp=11.2.0=h1234567_1
  - libstdcxx-ng=11.2.0=h1234567_1
  - ncurses=6.4=h6a678d5_0
  - openssl=3.0.16=h5eee18b_0
  - packaging=24.2=py39h06a4308_0
  - pip=25.0=py39h06a4308_0
  - pluggy=1.5.0=py39h06a4308_0
  - pytest=8.3.4=py39h06a4308_0
  - python=3.9.21=he870216_1
  - readline=8.2=h5eee18b_0
  - setuptools=75.8.0=py39h06a4308_0
  - sqlite=3.45.3=h5eee18b_0
  - tk=8.6.14=h39e8969_0
  - tomli=2.0.1=py39h06a4308_0
  - tzdata=2025a=h04d1e81_0
  - wheel=0.45.1=py39h06a4308_0
  - xz=5.6.4=h5eee18b_1
  - zlib=1.2.13=h5eee18b_1
  - pip:
      - actdiag==3.0.0
      - alabaster==0.7.16
      - altgraph==0.17.4
      - babel==2.17.0
      - blockdiag==3.0.0
      - certifi==2025.1.31
      - charset-normalizer==3.4.1
      - coverage==7.8.0
      - docutils==0.21.2
      - execnet==2.1.1
      - flake8==7.2.0
      - funcparserlib==2.0.0a0
      - idna==3.10
      - imagesize==1.4.1
      - importlib-metadata==8.6.1
      - jinja2==3.1.6
      - kivy==2.0.0rc3
      - kivy-garden==0.1.5
      - markupsafe==3.0.2
      - mccabe==0.7.0
      - nwdiag==3.0.0
      - pillow==11.1.0
      - pycodestyle==2.13.0
      - pyflakes==3.3.2
      - pygments==2.19.1
      - pyinstaller==6.12.0
      - pyinstaller-hooks-contrib==2025.2
      - pytest-asyncio==0.26.0
      - pytest-cov==6.0.0
      - pytest-mock==3.14.0
      - pytest-timeout==2.3.1
      - pytest-xdist==3.6.1
      - requests==2.32.3
      - seqdiag==3.0.0
      - snowballstemmer==2.2.0
      - sphinx==7.4.7
      - sphinxcontrib-actdiag==3.0.0
      - sphinxcontrib-applehelp==2.0.0
      - sphinxcontrib-blockdiag==3.0.0
      - sphinxcontrib-devhelp==2.0.0
      - sphinxcontrib-htmlhelp==2.1.0
      - sphinxcontrib-jsmath==1.0.1
      - sphinxcontrib-nwdiag==2.0.0
      - sphinxcontrib-qthelp==2.0.0
      - sphinxcontrib-seqdiag==3.0.0
      - sphinxcontrib-serializinghtml==2.0.0
      - typing-extensions==4.13.0
      - urllib3==2.3.0
      - webcolors==24.11.1
      - zipp==3.21.0
prefix: /opt/conda/envs/kivy

kivy/tests/test_urlrequest.py::test_ca_file[http]
kivy/tests/test_urlrequest.py::test_callbacks kivy/tests/test_urlrequest.py::test_auth_header kivy/tests/test_urlrequest.py::test_auth_auto kivy/tests/test_urlrequest.py::test_ca_file[https]
kivy/network/urlrequest.py
kivy/network/urlrequest.py