使用Diffbot发送Cookie

时间:2018-04-18 14:55:28

标签: diffbot

Diffbot docs建议您设置自定义标头,包括Cookies,我只需在标头中添加X-Forward前缀。

例如,我执行以下操作

cookie='SportsDirect_AnonymousUserCurrency=CNY'
user_agent = 'Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Ubuntu Chromium/65.0.3325.181 Chrome/65.0.3325.181 Safari/537.36' 
headers = {'X-Forward-User-Agent': user_agent,'X-Forward-Cookie': cookie}

然后我将我的客户请求发送到网址https://www.sportsdirect.com/adidas-ace-17-1-mens-fg-football-boots-203193?colcode=20319312,我可以在Wireshark中看到客户端正确传递了X-Forward标题:

enter image description here

然而,目标网站仍然以美元回应,而非人民币。

这与简单的cURL形成鲜明对比:

curl 'https://www.sportsdirect.com/adidas-ace-17-1-mens-fg-football-boots-203193?colcode=20319312' -H 'Cookie: SportsDirect_AnonymousUserCurrency=CNY'  --compressed | grep -A 5 pdpPrice

显示符合“SportsDirect_AnonymousUserCurrency”的价格。

但是,我最后使用diffbot对https://webhook.site发出请求,该请求会记录任何请求以及对其提供给您的特殊地址的标头。

enter image description here

很明显,Diffbot确实转发了我的标题,所以当cURL确实无法获得正确的货币时,这令人费解。

1 个答案:

答案 0 :(得分:1)

无法用你的卷曲重现,也不会这样。为了使其适用于这两种方法,您需要添加另一个cookie值,因为它们的末端有重定向。完整标题是:

ChosenSite=www; SportsDirect_AnonymousUserCurrency=CNY;