Python эквивалент запроса PHP curl

Я использую Rauth для моих запросов в API Beatport. Я использую этот рабочий пример в PHP в качестве ссылки.

В этом PHP-коде ниже используется токен запроса для входа в систему и проверки подлинности для 3-legged auth

ini_set('max_execution_time', 500); $submit = "Login"; $url = $auth_submiturl; $curl_connection_bp = curl_init(); curl_setopt($curl_connection_bp, CURLOPT_RETURNTRANSFER, 1); curl_setopt($curl_connection_bp, CURLOPT_URL, $url); curl_setopt($curl_connection_bp, CURLOPT_CONNECTTIMEOUT, 0); curl_setopt($curl_connection_bp, CURLOPT_USERAGENT, "Mozilla/5.0 (Windows; U; Windows NT6.0; en-US; rv:1.8.1.11) Gecko/20071127 Firefox/2.0.0.11"); curl_setopt($curl_connection_bp, CURLOPT_HTTPAUTH, CURLAUTH_ANY); curl_setopt($curl_connection_bp, CURLOPT_SSL_VERIFYPEER, false); curl_setopt($curl_connection_bp, CURLOPT_SSL_VERIFYHOST, false); curl_setopt($curl_connection_bp, CURLOPT_FOLLOWLOCATION, 1); curl_setopt($curl_connection_bp, CURLOPT_VERBOSE, false); // when true, this outputs the oauth_token and oauth_verifier value that are posted to the callback URL curl_setopt($curl_connection_bp, CURLOPT_HTTPAUTH, CURLAUTH_DIGEST); curl_setopt($curl_connection_bp, CURLOPT_REFERER, $curl_connection_bp); curl_setopt($curl_connection_bp, CURLOPT_FAILONERROR, 0); $post_string = 'oauth_token='.$request_token_info['oauth_token'] . '&username=' . $beatport_login . '&password=' . $beatport_password . '&submit=Login'; curl_setopt($curl_connection_bp, CURLOPT_POST, true); curl_setopt($curl_connection_bp, CURLOPT_POSTFIELDS, $post_string); $beatport_response = curl_exec($curl_connection_bp); $beatport_response = json_decode($beatport_response); print_r($beatport_response); 

Как я могу достичь этого в Python? Я думаю, мне нужно использовать urllib, но я не могу понять PHP-код.

Почему бы просто не использовать запросы? http://www.python-requests.org/en/latest/

Эта библиотека должна иметь возможность делать то, что делает этот PHP-код, легко.

use pycurl – это реализация python lib curl.

 import pycurl c = pycurl.Curl() c.setopt(pycurl.URL, "http://www.python.org/") c.setopt(pycurl.HTTPHEADER, ["Accept:"]) ... 

вы можете найти больше примеров и документации здесь http://pycurl.sourceforge.net/doc/curlobject.html

Вы должны использовать urlopen для выдачи запросов.

Простой пример:

 import urllib2 result = urllib2.urlopen("http://www.google.com/") print result.read() 

Подробнее здесь: http://docs.python.org/2/library/urllib2.html

Примеры кода Google urlopen, и вы найдете то, что вам нужно.

Я бы не стал пытаться преобразовать PHP-код в python, а вместо этого просто искать способ Python получить этот ответ. Немного googling, и похоже, что это может быть дубликат:

Инициализация клиента Oauth в python для tumblr API с использованием Python-oauth2