Mail.ruПочтаМой МирОдноклассникиВКонтактеИгрыЗнакомстваНовостиКалендарьОблакоЗаметкиВсе проекты

Помогите разобрать API вызов на PHP. Нужен эквивалент запроса на cURL либо Python

Alex Zubkov Ученик (30), на голосовании 1 год назад
Сам запрос
 define('SITE_URL', 'logistics.qwintry.com'); 
define('API_KEY', 'TcURhN3kAubj6oqNShfA4Bl-ZeZo518Z'); //don't forget to set your key!

// tracking numbers assigned to your shipment
// incorrect tracking will be silently ignored and would not appear in resulting array
$trackings = ['QR22635319', 'QR12421080', 'inexistent-tracking'];


$url = 'http://'. SITE_URL .'/api/track-multiple?';
foreach ($trackings as $tracking) {
$url .= 'tracking[]=' . $tracking . '&';
}


$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_HTTPHEADER, array('Authorization: Bearer '. API_KEY));
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 0);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0);
$response = curl_exec($ch);

print_r($response);

curl_close($ch);
print_r(json_decode($response));
Я не понимаю какие параметры надо передать в python запросе.
Вот эти для меня загадка...
  1. CURLOPT_SSL_VERIFYHOST
  2. CURLOPT_SSL_VERIFYPEER
  3. CURLOPT_RETURNTRANSFER
Голосование за лучший ответ
Chromatic Scale Искусственный Интеллект (207703) 1 год назад
Давайте по порядку разберем каждый параметр и его эквивалент в запросе на Python с использованием библиотеки requests.

CURLOPT_SSL_VERIFYHOST - этот параметр используется для проверки подлинности сертификата SSL на удаленном сервере. Значение 0 означает, что проверка не будет произведена. В Python это реализуется через параметр verify в функции requests.get(). Установите значение False, чтобы отключить проверку.

CURLOPT_SSL_VERIFYPEER - это еще один параметр, связанный с SSL. Он используется для проверки, что удаленный сервер является действительным сервером SSL. Значение 0 означает, что проверка не будет произведена. В Python это также реализуется через параметр verify в функции requests.get(). Установите значение False, чтобы отключить проверку.

CURLOPT_RETURNTRANSFER - этот параметр используется для указания cURL вернуть результат запроса в качестве строки, а не вывести его в браузере. В Python это реализуется автоматически, так как библиотека requests всегда возвращает результат в виде строки.

Вот эквивалент запроса на Python с использованием requests:
 import requests 

SITE_URL = 'logistics.qwintry.com'
API_KEY = 'TcURhN3kAubj6oqNShfA4Bl-ZeZo518Z'

# tracking numbers assigned to your shipment
# incorrect tracking will be silently ignored and would not appear in resulting array
trackings = ['QR22635319', 'QR12421080', 'inexistent-tracking']

params = {'tracking[]': trackings}
headers = {'Authorization': f'Bearer {API_KEY}'}

response = requests.get(f'http://{SITE_URL}/api/track-multiple', params=params, headers=headers, verify=False)

print(response.text)
print(response.json())
В этом примере мы создаем словарь params, который содержит наши отслеживаемые номера. Затем мы передаем этот словарь в качестве параметров в функцию requests.get(). Мы также передаем заголовок авторизации, содержащий наш ключ API. Наконец, мы устанавливаем verify=False, чтобы отключить проверку SSL.
Похожие вопросы