我正在尝试使用Curl从Wikipedia获取页面摘要。我的代码是
<?php
$title = <input from user>;
$url = 'http://en.wikipedia.org/w/api.php?action=query&titles='.$title.'&format=xml&prop=revisions&rvprop=content&redirects';
$curl = curl_init();
curl_setopt($curl, CURLOPT_URL, $url);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, TRUE);
curl_setopt($curl, CURLOPT_USERAGENT, 'testing wikipedia services');
$result = curl_exec($curl);
print $result;
//$content = $c->query->pages->page->revisions->rev;
//print $content;
?>
我最初想测试代码以查看我的代码是否返回整个页面。但我得到一个错误,说
要求:[未知方法] http://en.wikipedia.org:80/w/api.php?action=query&titles=US 环境保护 代理商&amp; format = xml&amp; prop = revisions&amp; rvprop = content&amp; redirects,来自 161.80.8.53通过cp1005.eqiad.wmnet(squid / 2.7.STABLE9)到[未知主机]([未知])错误:ERR_INVALID_URL,错误[No Error]在星期二,04 2012年12月16:55:52 GMT
网址有效,但仍会生成未知方法错误!
答案 0 :(得分:3)
您需要在网址中urlencode($title)
。
答案 1 :(得分:1)
您忘记编码$ title变量。示例:
str_replace(' ', '_', $title);