卷曲有问题使用卷曲抓住有冒号源名称的URL的内容得到了一个PHP脚本。处理URL源用冒号
Could not resolve host: http; nodename nor servname provided, or not known <url here>
我仔细检查过该网址是另有工作正常,但我怀疑卷曲在文件名中的冒号窒息。来源不是我的,所以我不能删除冒号。
是否有其他解决方法?
卷曲有问题使用卷曲抓住有冒号源名称的URL的内容得到了一个PHP脚本。处理URL源用冒号
Could not resolve host: http; nodename nor servname provided, or not known <url here>
我仔细检查过该网址是另有工作正常,但我怀疑卷曲在文件名中的冒号窒息。来源不是我的,所以我不能删除冒号。
是否有其他解决方法?
望着man page,卷曲有--data-进行urlencode标志。
如果这只是一个URL不是通过CLI而是通过PHP完成的,则可以使用PHP的urlencode()。
感谢塔科的建议。我给它射击,我收到以下错误:卷曲错误:无法解析主机:http%3A // www.awebsite.com/anxml%3Afile%3Athatoddly%3Ahascolons%3Aallovertheplace%3A;节点名称或服务名称提供,或不知道http://www.awebsite.com/anxml:file:thatoddly:hascolons:allovertheplace: – capikaw
这是因为你的URL编码的http:// – taco
嘿塔科,是的,我试过编码只是最后一部分,看起来像是这个问题 - 发生我从错误使用cURL错误。我已经提供了一个答案来澄清它的用途。 – capikaw
提供程序修复了他们的文件,所以我不必再处理冒号了。事实证明,我终究不正确地使用了cURL,而urlencode()和下面的代码可能会起作用。
这并不工作:
$url = urlencode($url);
$url = str_replace("http%3A","http:",$url);
$ch = curl_init();
$timeout = 5;
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, $timeout);
$data = curl_exec($ch);
这没有工作:
$url = urlencode($url);
$url = str_replace("http%3A","http:",$url);
$c = curl_init($url);
curl_setopt($c, CURLOPT_RETURNTRANSFER, true);
$data = iconv("UTF-8","ISO-8859-1",curl_exec($c));
希望帮助别人了。
该URL不是“正常工作”,您将获得404“未找到”。 – alfasin
在我的问题中的网址是人为设计和出于说明目的。 – capikaw