我正在使用类似的命令
$page = file_get_contents($url);
在哪里
$url = "http://www.site.com/search/index.cfm?tab=names&workername=firstname lastname";
当直接在浏览器中输入网址时,Chrome浏览器会在名字和姓氏之间添加一个
%20
,并且网站可以正确处理。但是,当我将$ url与空格一起使用时,file_get_contents仅捕获与名字匹配的结果,并且不知道
workername = "firstname lastname"
当我在两者之间显式添加“%20”时,它返回
NULL
...周围有什么工作?
谢谢你们!
最佳答案
一些问题:
?
开头,因此,$_GET
中都不存在这些变量。 %20
。 $url = 'http://www.site.com/search/?tab=names&workername=firstname%20lastname';
^ ^ ^^^ ^
编辑:
您尝试查询的网站可能会忽略它们作为GET变量。您是否尝试添加此代码以明确表示它是GET请求?
$options = array(
'http' => array('method' => "GET", 'header' => "Accept-language: en\r\n")
);
$context = stream_context_create($options);
file_get_contents($url, false, $context);
关于php - 在get参数中处理空格,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/8155788/