将Python移植到D:urllib

时间:2013-04-30 13:23:29

标签: python python-3.x d

我最近在Python中编写了一个程序(Windows 64位v3.3.1),并尝试将其移植到D.我遇到的问题是我在Python中使用了urllib模块,特别是urllib.request.Requesturllib.request.urlopen,我无法在D中找到等效词。

D是否有一个类似用途的库?如果没有,我该如何实现相同的功能? (我需要做的就是下载一个.csv文件,然后将其解析为一个字典数组。)

编辑:我最初尝试过Idan关于导入std.net.curl的建议,但我遇到了问题。我最初在链接libcurl时遇到了问题,但后来我设法将其构建并放入我的lib'文件夹中,从而摆脱了这个错误。然后我得到了几个.dll错误,在把相应的.dll文件放入(我认为)相应的目录后,我仍然收到一个错误:“程序条目EVP_md2无法位于动态链接库C中:\ WINDOWS \ SYSTEM32 \ libssl32.dll“。请注意,libss3l2.dll是我必须下载的.dll文件之一。此外,所有这些错误(除了“libcurl”链接错误)都在运行期间发生,一旦程序启动,所以它确实设法实际构建得很好。

2 个答案:

答案 0 :(得分:2)

好的,所以我不确定我最初做错了什么,但我最后删除了curl.lib我第一次制作的libssl32.dll以及libimp.exe /s curl.lib libcurl.dll 的所有副本。我在时间周围下载的libcurl副本可以获得here。 (我忘记了我第一次下载的版本,但我认为我的问题可能只是因为我第一次得到了错误的版本。)

然后,我使用

构建了`curl.lib'
libimp

curl.lib是D的实用工具,可以找到here。),并将DMD\windows\lib\放入{{1}}。

最后,我将所有.dll复制到libccurl下载的根目录中,并将它们放在我正在尝试构建的可执行文件的文件夹中。然后我再次构建了这个项目,它运行得很好。

答案 1 :(得分:1)

您需要使用std.net.curl - http://dlang.org/phobos/std_net_curl.html

请注意,您需要链接到libcurl才能使用它。您可以从http://curl.haxx.se/download.html下载它 - 查找“Win32 - Generic”