为什么在使用 requests VS urllib2 时我会得到 403 状态?

Why am I getting a 403 status when using requests VS urllib2?

我的请求在使用 urllib2 时工作正常,但在使用 requests 时出现 403 错误。

import urllib2

   url = 'https://api.optconnect.com/summit/beta/accounts/login/app_secret'
   data = {'accountId': 000,
        'applicationId': 000,
        'secret': '000'}
   data = json.dumps(data)
   headers = {'accept': 'application/json', 'content-type': 'application/json' }
   req = urllib2.Request(url, data ,headers)
   response = urllib2.urlopen(req)
   print(response.getcode())

200

import requests


   url = 'https://api.optconnect.com/summit/beta/accounts/login/app_secret'
   data = {'accountId': 000,
        'applicationId': 000,
        'secret': '000'}
   data = json.dumps(data)
   headers = {'accept': 'application/json', 'content-type': 'application/json' }
   req = requests.get(url=url, data=data, headers=headers)
   print(req.status_code)

403

而不是

req = requests.get(url=url, data=data, headers=headers)

尝试

req = requests.post(url=url, data=data)

以下有效

req = requests.request("POST", url=url, data=data, headers=headers)