Php 无法从多货币网页获取价格信息
第页: 代码:$html=file\u get\u contents('http://www.nastygal.com/accessories/minnie-bow-clutch');Php 无法从多货币网页获取价格信息,php,Php,第页: 代码:$html=file\u get\u contents('http://www.nastygal.com/accessories/minnie-bow-clutch'); 即使我在页面右上角更改货币,$html始终包含产品的美元价格。当我将页面的货币更改为CAD时,如何捕获具有CAD价格的html?似乎国家和货币选择存储在Cookie中 我假设您必须将这些值与文件\u get\u contents()调用一起传递。见: 编辑#1 为了跟进我的评论,我刚刚测试了以下内容: //
即使我在页面右上角更改货币,$html始终包含产品的美元价格。当我将页面的货币更改为CAD时,如何捕获具有CAD价格的html?似乎国家和货币选择存储在Cookie中 我假设您必须将这些值与
文件\u get\u contents()
调用一起传递。见:
编辑#1 为了跟进我的评论,我刚刚测试了以下内容:
// Create a stream
$opts = array(
'http'=>array(
'method'=>"GET",
'header'=>"Accept-language: en\r\n" .
"Cookie: CURRENCYPREFERENCE=cad\r\n"
)
);
$context = stream_context_create($opts);
// Open the file using the HTTP headers set above
$file = file_get_contents('http://www.nastygal.com/accessories/minnie-bow-clutch', false, $context);
print_r($file);
并且能够得到这个:
编辑#2: 回应你的第二个评论。这些都是重要的细节。你的书签是怎么处理这些内容的?您是否在自己的网站上保存书签产品页面的副本?无论如何,在提交运行
文件\u get\u contents()
的请求之前,您必须修改bookmarklet以检查用户的cookie
我可以使用以下简单的bookmarklet示例从nastygal.com访问我的cookies。注意:nastygal.com使用jQuery和jQuery UI cookie插件。如果您正在寻找更通用的解决方案,则不应依赖这些脚本:
javascript:(function(){ console.log($.cookie('CURRENCYPREFERENCE')); }());
JS控制台中的输出:
cad
似乎国家和货币选择存储在cookies中 我假设您必须将这些值与
文件\u get\u contents()
调用一起传递。见:
编辑#1 为了跟进我的评论,我刚刚测试了以下内容:
// Create a stream
$opts = array(
'http'=>array(
'method'=>"GET",
'header'=>"Accept-language: en\r\n" .
"Cookie: CURRENCYPREFERENCE=cad\r\n"
)
);
$context = stream_context_create($opts);
// Open the file using the HTTP headers set above
$file = file_get_contents('http://www.nastygal.com/accessories/minnie-bow-clutch', false, $context);
print_r($file);
并且能够得到这个:
编辑#2: 回应你的第二个评论。这些都是重要的细节。你的书签是怎么处理这些内容的?您是否在自己的网站上保存书签产品页面的副本?无论如何,在提交运行
文件\u get\u contents()
的请求之前,您必须修改bookmarklet以检查用户的cookie
我可以使用以下简单的bookmarklet示例从nastygal.com访问我的cookies。注意:nastygal.com使用jQuery和jQuery UI cookie插件。如果您正在寻找更通用的解决方案,则不应依赖这些脚本:
javascript:(function(){ console.log($.cookie('CURRENCYPREFERENCE')); }());
JS控制台中的输出:
cad
看起来货币首选项保存在名为CURRENCYPREFERENCE的cookie中 由于不是您的浏览器建立了检索该视图的连接,因此您可能不会随请求发送任何cookie数据 我相信这里的示例4会满足您的需求:
看起来货币首选项保存在名为:CURRENCYPREFERENCE的cookie中 由于不是您的浏览器建立了检索该视图的连接,因此您可能不会随请求发送任何cookie数据 我相信这里的示例4会满足您的需求:
您在哪里更改货币?希望这些信息存储在cookie中。顺便说一句,尼斯网站:)你在哪里更改货币?希望这些信息存储在cookie中。顺便说一句,很好的站点:)谢谢你的指针,但是我如何获得这个cookie值,以便将其传递到php中呢?我尝试使用js document.cookie检索它,但找不到。@asdfasfdfasdfsf您不必“获取”cookie值。使用我链接的示例或PHP页面DavidHamp linked,您可以传递一个key=value对数组来模拟nastygal.com.Sry通常设置的cookies,只是为了澄清我的意图,用户将使用我的bookmarklet从他们的浏览器中提取价格,就像kaboodle那样。示例用例:1。用户进入产品页面(价格现在显示美元)2。他们将货币改为澳元(价格现在改为澳元)3。他们从浏览器4中点击我的书签。bookmarklet智能地将澳元价格剔除。我仍然无法确定他们选择的货币,因此我可以通过HTTP请求传递正确的cookie值,以获得包含所选货币价格的HTTP响应。希望这有意义!嗨,mofolo,我仍然无法使用$.cookie('CURRENCYPREFERENCE')获得cookie值;它返回null。然后我检查$.cookie()中的cookie列表,它们在document.cookie中是相同的集合,我缺少什么?感谢指针,但是我如何获得这个cookie值,以便将其传递到php?我尝试使用js document.cookie检索它,但找不到。@asdfasfdfasdfsf您不必“获取”cookie值。使用我链接的示例或PHP页面DavidHamp linked,您可以传递一个key=value对数组来模拟nastygal.com.Sry通常设置的cookies,只是为了澄清我的意图,用户将使用我的bookmarklet从他们的浏览器中提取价格,就像kaboodle那样。示例用例:1。用户进入产品页面(价格现在显示美元)2。他们将货币改为澳元(价格现在改为澳元)3。他们从浏览器4中点击我的书签。bookmarklet智能地将澳元价格剔除。我仍然无法确定他们选择的货币,因此我可以通过HTTP请求传递正确的cookie值,以获得包含所选货币价格的HTTP响应。希望这有意义!嗨,mofolo,我仍然无法使用$.cookie('CURRENCYPREFERENCE')获得cookie值;它返回null。然后我检查$.cookie()中的cookie列表,它们在document.cookie中是相同的集合,我缺少什么?