使用curl下载文件时,如何跟踪链接位置并将其用于输出文件名(事先不知道远程文件名)?
例如,如果单击下面的链接,您将下载文件名为"pythoncomplete.vim".但是使用curl的-O和-L选项,文件名只是原始的远程名称,笨拙的"download_script.php?src_id = 10872".
curl -O -L http://www.vim.org/scripts/download_script.php?src_id=10872
Run Code Online (Sandbox Code Playgroud)
要下载具有正确文件名的文件,您必须事先知道文件的名称:
curl -o pythoncomplete.vim -L http://www.vim.org/scripts/download_script.php?src_id=10872
Run Code Online (Sandbox Code Playgroud)
如果您可以在不事先知道名称的情况下下载文件,那将是非常好的,如果没有,是否有另一种方法可以通过命令行快速下载重定向文件?
我正在尝试使用Swig for Mac OS X编译C++扩展.但是我遇到了一些链接器错误.Python Swig的基本教程似乎也在Mac上失败了:
http://www.swig.org/Doc1.3/Python.html#Python_nn10
swig -c++ -python example.i
g++ -O2 -fPIC -c example.cxx
g++ -O2 -fPIC -c example_wrap.cxx -I/usr/include/python2.6
g++ -shared example.o example_wrap.o -o _example.so
Run Code Online (Sandbox Code Playgroud)
前三行工作正常.最后一行因链接器错误而失败.我在OS X上尝试了最后一行,并得到了同样的错误:
g++ -dynamiclib example.o example_wrap.o -o _example.so
Run Code Online (Sandbox Code Playgroud)
最后一行的错误是:
Undefined symbols for architecture x86_64:
"_PyArg_ParseTuple", referenced from:
__wrap_fact in example_wrap.o
"_PyArg_UnpackTuple", referenced from:
_SwigPyObject_own in example_wrap.o
"_PyBool_FromLong", referenced from:
_SwigPyObject_richcompare in example_wrap.o
_SwigPyObject_own in example_wrap.o
...
ld: symbol(s) not found for architecture x86_64
collect2: ld returned 1 exit status
Run Code Online (Sandbox Code Playgroud)
谢谢.