【问题标题】:Why is PHP changing currency symbol when I fetch data using CURL?当我使用 CURL 获取数据时,为什么 PHP 会更改货币符号?
【发布时间】:2016-02-06 00:59:06
【问题描述】:

我正在从 kickstarter 活动中获取数据,当我从浏览器查看它时,它会显示“欧元”符号,但是当我使用 CURL 获取同一页面的 html 内容时,它会显示“美元”符号。为什么呢 ? 下面是我的 PHP 代码(使用 CURL 模块):

<?php
    $ch = curl_init($url);
    curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
    curl_setopt($ch,CURLOPT_RETURNTRANSFER,1);
    curl_setopt($ch,CURLOPT_USERAGENT,'Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1.13) Gecko/20080311 Firefox/2.0.0.13');
    $data = curl_exec($ch);
    return $data;
?>

我希望它向我显示正确的货币符号,例如如果项目使用“美元”,它应该返回“美元”并且与“欧元”相同。 例如,下面是指向具有“EUR”货币符号但在 CURL 获取的数据中更改为“USD”的活动的链接,为什么会这样? ,PHP 会根据我的服务器设置自动转换吗? 示例链接:https://www.kickstarter.com/projects/35540661/new-colors-59-stainless-milanaise-loop-for-apple-w

【问题讨论】:

标签: php curl


【解决方案1】:

您的用户代理正在将位置设置为 en-us

curl_setopt($ch,CURLOPT_USERAGENT,'Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1.13) Gecko/20080311 Firefox/2.0.0.13');

我猜这就是货币设置为 $ 的原因。

我不知道 kickstarter 如何定义要使用的货币。也许 cURL 请求来自的服务器位于美国,kickstarter 正在使用 ipaddress 来定义货币。

【讨论】:

  • 我尝试将位置设置为 en-UK ,但没有成功。关于我的服务器,是的,它位于美国
  • 我还尝试了代理 IP 并尝试从 UK ip 查看 kickstarter 页面,它仍然在那里显示“EURO”符号。
  • 也可以是您本地系统上的 cookie?
猜你喜欢
  • 2013-07-03
  • 2012-12-03
  • 2012-06-12
  • 2014-12-07
  • 1970-01-01
  • 2016-03-24
  • 1970-01-01
  • 2017-11-29
  • 2012-03-27
相关资源
最近更新 更多