Converting python code to matlab code

Can someone please help me to convert the below python code into MATLAB?
%python code
import requests
import random
import time
ENDPOINT = "api.somewebsite.com"
LABEL1 = "label1"
LABEL2 = "label2"
TOKEN = "XXXXXXXXXX"
DELAY = 1 # Delay in seconds
def post_var(payload, url=ENDPOINT, device=DEVICE_LABEL, token=TOKEN):
try:
url = "http://{}/api/v1.1/dev/{}".format(url, LABEL1)
headers = {"X-Auth-Token": token, "Content-Type": "application/json"}
attempts = 0
status_code = 400
while status_code >= 400 and attempts < 5:
print("[INFO] Sending data, attempt number: {}".format(attempts))
req = requests.post(url=url, headers=headers,
json=payload)
status_code = req.status_code
attempts += 1
time.sleep(1)
print("[INFO] Results:")
print(req.text)
except Exception as e:
print("[ERROR] Error posting, details: {}".format(e))
def main():
value = random.random() * 100
payload = {LABEL2: value}
post_var(payload)
if __name__ == "__main__":
while True:
main()
time.sleep(DELAY)
Thanks,
A confused student

3 Comments

If you tell what for the code is, you may already have a function for that in MATLAB.
The code is for sending data to a website via http.
Have a look on publish. I am not sure whether this addresses your question or not.

Sign in to comment.

 Accepted Answer

Ameer Hamza
Ameer Hamza on 18 Jun 2020
Edited: Ameer Hamza on 18 Jun 2020

8 Comments

I tried webwrite but couln't do the headers part. I am a begginer in matlab. Please help...
I tried the following code but the server returned a 401 error, even when the python code works fine.
url = 'https://api.somewebsite.com/api/v1.1/dev/label1/';
headerFields = {'X-Auth-Token', 'xxxxxxxxxxxxxxxxxxx'};
options = weboptions('HeaderFields', headerFields, 'ContentType','json');
response = webwrite(url,['label2',50]);
please see what is the mistake.
You need to pass options to webwrite
response = webwrite(url,['label2',50],options);
Now it is giving error 400 "Bad request". I checked the python code and the python code is still working. Please guide...
Try following modifications one by one, and with combinations too, and see if it work.
Change the options to
headerFields = {'X-Auth-Token', 'xxxxxxxxxxxxxxxxxxx'; 'Content-Type', 'application/json'};
options = weboptions('HeaderFields', headerFields);
or
response = webwrite(url,['label2=',num2str(50)],options);
or
response = webwrite(url,'label2',50,options);
or
response = webwrite(url,'label2',num2str(50),options);
Third one worked. Thanks a lot.
I am glad to be of help!

Sign in to comment.

More Answers (0)

Asked:

on 18 Jun 2020

Commented:

on 18 Jun 2020

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!