Python相当于PHP curl请求 [英] Python equivalent of PHP curl request
本文介绍了Python相当于PHP curl请求的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我使用Rauth来查询Beatport API。我正在使用此 PHP中的工作示例作为参考。 / p>
下面的PHP代码使用请求令牌登录并验证三方身份验证
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); //当true时,输出发布到回调URL的oauth_token和oauth_verifier值
curl_setopt($ curl_connection_bp,CURLOPT_HTTPAUTH,CURLAUTH_DIGEST);
curl_setopt($ curl_connection_bp,CURLOPT_REFER ER,$ 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/ p>
这个库应该能够做这个PHP代码做的很容易。
I'm using Rauth for my queries to the Beatport API. I'm using this working example in PHP as reference.
This PHP code below uses a request token to log in and authenticate for 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);
How can I achieve this in Python? I think I need to use urllib, but I can't understand the PHP code.
解决方案
Why not just use requests? http://www.python-requests.org/en/latest/
This library should be able to do what this php code is doing easily.
这篇关于Python相当于PHP curl请求的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文