Как написать единственный метод для обработки всех методов запроса с помощью модуля запросов Python - PullRequest
0 голосов
/ 17 июня 2019

Я хочу, чтобы мое приложение было простым для чтения, и, следовательно, я ищу способ объединить все методы, которые являются отдельными для каждого из методов запроса (GET, POST, PUT), в один метод.

Ниже приведен код, показывающий, как я сейчас выполняю реализацию.

def do_request(end_url):
    global base_url
    global cert
    global key
    current_url=base_url + end_url
    print("url :", current_url)
    #data=data
    result = requests.get(current_url,cert=(cert,key))
    return result.status_code

def do_request_upload(end_url, data):
    global base_url
    global cert
    global key
    current_url=base_url + end_url
    print("url :", current_url)
    data=data
    files = {'upload_file': (data, open(data,'rb'), 'text/x-spam')}
    result = requests.put(current_url,cert=(cert,key), files=files)
    return result.status_code

def do_request_publish(end_url):
    global base_url
    global cert
    global key
    current_url=base_url + end_url
    cmd = '/usr/bin/curl -X PUBLISH '+current_url+' --cert '+cert+' --key '+key
    print("Command",cmd)
    process = Popen(cmd, shell=True, stdout=PIPE, stderr=PIPE)
    stdout, stderr = process.communicate()
    print("REsult :", stdout)
    return stdout

def do_request_deliver(end_url, data):
    global base_url
    global cert
    global key
    current_url=base_url + end_url
    data=data
    print("current url", current_url)
    print("data:", data)
    result = requests.post(url = current_url,data=json.dumps(data),cert=(cert,key))
    print("Result: ", result.text[:300])

def do_request_publish:

Мне пришлось использовать curl, так как я не смог найти метод PUBLISH REQUEST в модуле запросов.

Поскольку я новичок в Python, мне нужна помощь.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...