【问题标题】:There's an example on how to use an API with Python and cURL. Is it feasable to just copy the code if I have IronPython installed and have it work?有一个关于如何在 Python 和 cURL 中使用 API 的示例。如果我安装了 IronPython 并让它工作,只复制代码是否可行?
【发布时间】:2023-09-21 19:15:02
【问题描述】:

这是有问题的代码:

#!/usr/bin/python

import pycurl

c = pycurl.Curl()
values = [
          ("key", "YOUR_API_KEY"),
          ("image", (c.FORM_FILE, "file.png"))]
# OR:     ("image", "http://example.com/example.jpg"))]

c.setopt(c.URL, "http://imgur.com/api/upload.xml")
c.setopt(c.HTTPPOST, values)

c.perform()
c.close()

我试图寻求有关如何在 C# 中复制此功能的帮助,但到目前为止,没有一个答案真正有帮助,因为我需要使用我的 API 密钥,否则它不会工作。

【问题讨论】:

  • 你尝试的时候发生了什么?

标签: c# python curl ironpython


【解决方案1】:

在 C# 中,您可以使用 WebRequest 类来完成相同的操作。查看页面底部的示例“How to: Send Data Using the WebRequest Class”以获取代码示例。

【讨论】:

    【解决方案2】:

    代码本身看起来很简单。我不知道 pycurl 是否可用作 .NET 模块(或其他任何名称),以便可以直接从 Ironpython 使用。试一次有什么问题?

    【讨论】:

      【解决方案3】:

      据我所知,你应该可以做到这一点。

      会发生以下两种情况之一:

      1. 当您将代码导入 IronPython 时,它会正常工作

      2. IronPython 会向您抛出一个错误,说它不知道在哪里可以找到 cURL。在这种情况下,您必须将其添加到您的 PATH 中。我相信它在 sys 模块中(sys.path.append("C:\..path_to_cURL"))。在代码的顶部执行此操作,从那里开始应该会一帆风顺

      希望有帮助

      【讨论】:

        【解决方案4】:

        pycurl 似乎是 CPython 的 C 扩展。

        要将其与 IronPython 一起使用,您需要使用 IronClad(一个“正在进行的”项目,允许在 .Net 世界中使用 c 扩展)。

        【讨论】:

          最近更新 更多