Python相当于PHP curl请求 [英] Python equivalent of PHP curl request

查看:238
本文介绍了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屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆