Python3のurllib.request.Requestのheadersでhttp headerを指定してもheaderが送信されないのですがなぜこのようなことがおこるのでしょうか?

mnctf2017というctfサイトの情報照会というお題に取り組んでいるのですが、この問題では、FLAGをとるためにAPIサーバに問い合わせる必要があります。
APIにアクセスするためにはAPI tokenのようなものをX-TOKENヘッダに追加しなければなりません。
X-TOKENヘッダを追加するためにurllib.request.Requestの引数のheadersに{"X-TOKEN": token}としてリクエストを送信するのですが、X-TOKENをヘッダに追加したにもかかわらず、X-TOKENがないというエラーが返ってきます。

なぜでしょうか?

ちなみに他の方の答えを見たところrequestsをつかうとうまくいくようです。

urllibを使ってアクセスするコード:


import urllib.request as ur
import urllib.parse as up
import time
import json

hashlist = open("minhashlist.txt").read().split("\n")[:-1]
malware_name = "RAT.A.aa74e"
apikey = "578459a056231ac6745fcb53e3304b3043bb7c9448863e84652764592d15b3d1"

def get_apitoken():
    post_data = up.urlencode({"key": apikey}).encode("utf-8")
    res = ur.urlopen("http://157.7.53.197/intel/gettoken/", data=post_data)
    res_str = res.read().decode("ascii")
    res_json = json.loads(res_str)
    return res_json["expire"], res_json["token"]

def search(token, hash):
    print(token)
    data = up.urlencode({"hash": hash}).encode("utf-8")
    req = ur.Request("http://157.7.53.197/intel/query/", data=data, headers={
        "x-token": token # ここで"X-TOKEN"を追加した
        })
    res = ur.urlopen(req)
    body = res.read().decode("utf-8")
    res_json = json.loads(body)
    if res_json["auth"] != "success": #認証に失敗したらエラーを発生させる
        raise Exception("auth error: " + res_json["reason"])
    if malware_name in detection_name:
        print("answer:", res_json["hash"])

def main():
    expire, token = get_apitoken()
    expire = int(expire)
    for v in hashlist:
        search(token, v)
        now = time.time()
        if now >= expired:
            expire, token = get_apitoken()
            expire = int(expire)

エラーメッセージ:

Traceback (most recent call last):
  File "getinfo.py", line 41, in <module>
    main()
  File "getinfo.py", line 35, in main
    search(token, v)
  File "getinfo.py", line 27, in search
    raise Exception("auth error: " + res_json["reason"])
Exception: auth error: no x-token header

http://mnctf.info/mnctf2017/top.php
[上のURLの"情報照会"という問題です]

このCTFで使用するAPIサーバの仕様書
http://mnctf.info/mnctf2017/task/MiNTEL_API_Reference.pdf

環境:
Windows 10
Python 3.6.7