【问题标题】:How do I translate a PHP cURL request to python如何将 PHP cURL 请求转换为 python
【发布时间】:2023-03-26 22:28:01
【问题描述】:

我正在编写一个工具来获取 Whois 信息,我需要为此使用 WHMCS API。

这是他们提供的代码:

$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, 'https://www.example.com/includes/api.php');
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS,
    http_build_query(
        array(
            'action' => 'DomainGetWhoisInfo',
            // See https://developers.whmcs.com/api/authentication
            'username' => 'IDENTIFIER_OR_ADMIN_USERNAME',
            'password' => 'SECRET_OR_HASHED_PASSWORD',
            'domainid' => '1',
            'responsetype' => 'json',
        )
    )
);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
$response = curl_exec($ch);
curl_close($ch);

我想在没有 PHP 的情况下在 Python 中使用这个请求。我应该使用什么库以及如何在有效负载中设置变量?(php 或 python 样式?)

【问题讨论】:

    标签: python php curl whmcs


    【解决方案1】:

    我应该使用什么库

    requests 是流行的python 模块,用于处理 HTTP(S) 请求,但请注意,它是外部模块,需要按如下方式安装

    pip install requests
    

    这并不难,但如果你不允许安装外部模块,你就不能使用它。在这种情况下,您可以使用urllib.request 内置模块。

    如何设置有效载荷中的变量?

    只需将您的array 转换为pythondict 并将其用作data 参数,requests Quickstart 提供以下示例

    r = requests.post('https://httpbin.org/post', data={'key': 'value'})
    

    {'key': 'value'}python's 等价于 PHP7's array('key' => 'value'){'key1': 'value1', 'key2': 'value2'} 将是 array('key1' => 'value1', 'key2' => 'value2') 等等

    【讨论】:

      猜你喜欢
      • 2019-06-28
      • 2017-08-03
      • 2023-02-14
      • 1970-01-01
      • 1970-01-01
      • 2017-04-12
      • 2016-01-30
      • 2020-03-18
      相关资源
      最近更新 更多