diff --git a/taxii2client/__init__.py b/taxii2client/__init__.py
index bee06a1..0efc770 100644
--- a/taxii2client/__init__.py
+++ b/taxii2client/__init__.py
@@ -478,7 +478,7 @@ class _HTTPConnection(object):
         resp.raise_for_status()
 
         content_type = resp.headers['Content-Type']
-        if content_type != accept:
+        if not content_type.startswith(accept):
             msg = "Unexpected Response Content-Type: {}"
             raise TAXIIServiceException(msg.format(content_type))
 

Accept more flexible content type strings
When checking the content type of packets the client receives, it checks if it is an exact match (https://github.com/oasis-open/cti-taxii-client/blob/master/taxii2client/__init__.py#L481). This fails if for example "; charset=utf-8" is appended to the content type.
diff --git a/taxii2client/test/test_client.py b/taxii2client/test/test_client.py
index 597ebb3..3a02747 100644
--- a/taxii2client/test/test_client.py
+++ b/taxii2client/test/test_client.py
@@ -3,7 +3,7 @@ import responses
 
 from taxii2client import (
     MEDIA_TYPE_STIX_V20, MEDIA_TYPE_TAXII_V20, AccessError, ApiRoot,
-    Collection, Server
+    Collection, Server, TAXIIServiceException
 )
 
 TAXII_SERVER = 'example.com'
@@ -394,3 +394,23 @@ def test_get_status(api_root):
     assert len(status.failures) == 1
     assert status.pending_count == 2
     assert len(status.pendings) == 2
+
+
+@responses.activate
+def test_content_type_valid(collection):
+    responses.add(responses.GET, GET_OBJECT_URL, GET_OBJECT_RESPONSE,
+                  status=200, content_type="%s; charset=utf-8" % MEDIA_TYPE_STIX_V20)
+
+    response = collection.get_object('indicator--252c7c11-daf2-42bd-843b-be65edca9f61')
+    indicator = response['objects'][0]
+    assert indicator['id'] == 'indicator--252c7c11-daf2-42bd-843b-be65edca9f61'
+
+
+@responses.activate
+def test_content_type_invalid(collection):
+    responses.add(responses.GET, GET_OBJECT_URL, GET_OBJECT_RESPONSE,
+                  status=200, content_type="taxii")
+
+    with pytest.raises(TAXIIServiceException) as excinfo:
+        collection.get_object('indicator--252c7c11-daf2-42bd-843b-be65edca9f61')
+    assert "Unexpected Response Content-Type" in str(excinfo.value)

pip install -e .[test]
parse_log_pytest
requirements.txt
pytest pytest-cov responses tox
apt-get update apt-get install -y gcc
3.6
pytest --no-header -rA --tb=line --color=no -p no:cacheprovider -W ignore::DeprecationWarning
attrs==22.2.0
certifi==2021.5.30
charset-normalizer==2.0.12
coverage==6.2
distlib==0.3.9
filelock==3.4.1
idna==3.10
importlib-metadata==4.8.3
importlib-resources==5.4.0
iniconfig==1.1.1
packaging==21.3
platformdirs==2.4.0
pluggy==1.0.0
py==1.11.0
pyparsing==3.1.4
pytest==7.0.1
pytest-cov==4.0.0
requests==2.27.1
responses==0.17.0
six==1.17.0
-e git+https://github.com/oasis-open/cti-taxii-client.git@405bbbaa58d86371adc401ee4fe8830f429fb6b2#egg=taxii2_client
toml==0.10.2
tomli==1.2.3
tox==3.28.0
typing_extensions==4.1.1
urllib3==1.26.20
virtualenv==20.17.1
zipp==3.6.0

name: cti-taxii-client
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
  - certifi=2021.5.30=py36h06a4308_0
  - ld_impl_linux-64=2.40=h12ee557_0
  - libffi=3.3=he6710b0_2
  - 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=1.1.1w=h7f8727e_0
  - pip=21.2.2=py36h06a4308_0
  - python=3.6.13=h12debd9_1
  - readline=8.2=h5eee18b_0
  - setuptools=58.0.4=py36h06a4308_0
  - sqlite=3.45.3=h5eee18b_0
  - tk=8.6.14=h39e8969_0
  - wheel=0.37.1=pyhd3eb1b0_0
  - xz=5.6.4=h5eee18b_1
  - zlib=1.2.13=h5eee18b_1
  - pip:
      - attrs==22.2.0
      - charset-normalizer==2.0.12
      - coverage==6.2
      - distlib==0.3.9
      - filelock==3.4.1
      - idna==3.10
      - importlib-metadata==4.8.3
      - importlib-resources==5.4.0
      - iniconfig==1.1.1
      - packaging==21.3
      - platformdirs==2.4.0
      - pluggy==1.0.0
      - py==1.11.0
      - pyparsing==3.1.4
      - pytest==7.0.1
      - pytest-cov==4.0.0
      - requests==2.27.1
      - responses==0.17.0
      - six==1.17.0
      - toml==0.10.2
      - tomli==1.2.3
      - tox==3.28.0
      - typing-extensions==4.1.1
      - urllib3==1.26.20
      - virtualenv==20.17.1
      - zipp==3.6.0
prefix: /opt/conda/envs/cti-taxii-client

taxii2client/test/test_client.py::test_content_type_valid
taxii2client/test/test_client.py::test_server_discovery taxii2client/test/test_client.py::test_minimal_discovery_response taxii2client/test/test_client.py::test_discovery_with_no_default taxii2client/test/test_client.py::test_api_root taxii2client/test/test_client.py::test_api_root_collections taxii2client/test/test_client.py::test_collection taxii2client/test/test_client.py::test_collection_unexpected_kwarg taxii2client/test/test_client.py::test_get_collection_objects taxii2client/test/test_client.py::test_get_object taxii2client/test/test_client.py::test_cannot_write_to_readonly_collection taxii2client/test/test_client.py::test_add_object_to_collection taxii2client/test/test_client.py::test_cannot_read_from_writeonly_collection taxii2client/test/test_client.py::test_get_manifest taxii2client/test/test_client.py::test_get_status taxii2client/test/test_client.py::test_content_type_invalid
taxii2client/__init__.py
taxii2client/__init__.py