file_get_contents()的替代方案

时间:2014-01-09 18:04:00

标签: php file-get-contents

我知道以前曾经问过这个问题,但也许不是我正在使用的背景。

我们的拨号系统有一种方法可以将基于表单的线索输入到拨号器中。你必须访问某个网站, 例如:

http://www.website.com/non_agent_api?source=webform&telephone_number=0123456789&name=Bloggs

我目前正在使用

file_get_contents('http://www.website.com/non_agent_api?source=webform&
telephone_number=0123456789&name=Bloggs')

但它看起来很受欢迎并且错过我说只有70%的潜在客户被正确添加。

有没有人知道另一种选择?

1 个答案:

答案 0 :(得分:0)

不太可能file_get_contents的失败是导致问题的根本原因。您更有可能创建格式错误的请求 - 例如,您没有正确地对参数进行URL编码。在生成请求之前,您是否有一种验证输入的方法?你使用正确的编码吗?您是否了解服务器端的任何验证规则可能会使您的请求失败?

您可以尝试使用cURL替代file_get_contents - 这就是您提出的问题的答案。但实际问题更可能在于您的请求的正确编码/验证。

〔实施例:

$name = "Freddy Mercury";
$e_name = urlencode($name);
$request = "http://www.server.com/addEntry.php?name=".$e_name;
echo $request

结果

http://www.server.com/addEntry.php?name=Freddy+Mercury

如您所见,'禁止'空格被+符号替换。您可能希望在生成请求之前包含其他验证功能。