2015-03-13 12 views
0

Мне нужно преобразовать эту функцию php, которая использует CURL для входа на веб-сервер, а затем запросить ресурс png.Преобразование скрипта CURL php в код python

function GraphImageById ($graphid, $period = 3600, $width, $height) { global $z_server, $z_user, $z_pass, $z_tmp_cookies, $z_url_index, $z_url_graph, $z_url_api, $z_img_path, $z_login_data; 
    // file names 
    $filename_cookie = $z_tmp_cookies ."zabbix_cookie_" .$graphid .".txt"; 
    $image_name = $z_img_path ."zabbix_graph_" .$graphid .".png"; 

    //setup curl 
    $ch = curl_init(); 
    curl_setopt($ch, CURLOPT_URL, $z_url_index); 
    curl_setopt($ch, CURLOPT_HEADER, false); 
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); 
    curl_setopt($ch, CURLOPT_BINARYTRANSFER, true); 
    curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false); 
    curl_setopt($ch, CURLOPT_POST, true); 
    curl_setopt($ch, CURLOPT_POSTFIELDS, $z_login_data); 
    curl_setopt($ch, CURLOPT_COOKIEJAR, $filename_cookie); 
    curl_setopt($ch, CURLOPT_COOKIEFILE, $filename_cookie); 
    // login - 1st curl exec. 
    curl_exec($ch); 
    // get graph 
    curl_setopt($ch, CURLOPT_URL, $z_url_graph ."?graphid=" .$graphid ."&width=" .$width ."&height=" .$height ."&period=" .$period); 
    // set response header 
    header("Content-type: image/png"); 
    $output = curl_exec($ch); // - 2nd curl exec. 
    curl_close($ch); 
    unlink($filename_cookie); 
    return $output; 

}

Какой Lib питон я могу использовать? Какие-либо предложения? Спасибо.

+1

SO не является кодовым письмом. Что у вас есть? Какие проблемы у тебя? –

+0

Мне нужно опубликовать свои данные на сервере, сохранить ответ cookie и сделать новый запрос на другой «php-файл», чтобы получить ресурс png. –

ответ

1

Возможно, pycurl (привязка cURL lib для python) - это то, что вы хотите (https://pypi.python.org/pypi/pycurl), но я уверен, что вы также можете приблизиться к этому с помощью httplib/httplib2.

+1

В это время я решил с помощью модуля python «запросы». –

+1

Хорошо, запрос - это классный модуль, кстати! –

Смежные вопросы