По какой-то причине я не могу конвертировать этот код VBA. Я продолжаю получать статус 401 или 400 при запуске скрипта Python. Этот код VBA работает нормально и получает необходимый токен
Dim user
Dim pwd
Dim url
Dim response
Dim sessionid
url = "https://xxxx"
sRequest = "{""itrent"": {""login"": {""user"": ""xxx"",""pwd"": ""xxx""}}}"
response = HTTPPost (url, sRequest)
sessionid = ""
If InStr(response,"sessionid") > 0 Then
sessionid = getSession(response)
Else
MsgBox "No Session received : " + response
End If
MsgBox response
Function HTTPPost(sUrl, sRequest)
set oHTTP = CreateObject("Microsoft.XMLHTTP")
oHTTP.open "POST", sUrl,False
oHTTP.setRequestHeader "Content-Type", "text/plain"
oHTTP.setRequestHeader "Content-Length", Len(sRequest)
oHTTP.send sRequest
HTTPPost = oHTTP.responseText
End Function
Мой код предназначен для Python, пытающегося конвертировать из сценария VBA:
import urllib
from urllib.parse import urlencode
import ssl
import requests
import json
from itertools import chain
import timeit
import pandas as pd
from pandas.io.json import json_normalize
import numpy as np
import datetime
from requests.auth import HTTPBasicAuth
# Todays Date
d = datetime.datetime.today().strftime('%d-%m-%Y')
TOKEN_API_URL = 'https://'
sRequest = "{""itrent"": {""login"": {""user"": ""xxxx"",""pwd"": ""Pxxx""}}}"
session = requests.Session()
session.headers = {'Accept':str(len(sRequest)), 'Content-Type':"text/plain"}
# data = urlencode(payload).encode()
login = session.post(TOKEN_API_URL,data=json.dumps(sRequest))
print(login)