关于抓取模拟请求头的问题

2018-05-31 16:13:10 +08:00
 yadgen
https://m.hemaos.com/page/share/itemdetail?userid=7fdd44ae33082c96789e67340deffd832ed703004c738299459ab9f21dfea1f609fec570e529c5a838c500d1c9da126496494e3bdaa34f41b3e7eeabcc11da177894017d6629127e100c01363e06fdf46107a3f6a1176ba2a19d6e598c9e8e9a7d79219bf9a9ff95bec1cb91cf6bc557b7a49c67301fcb1ed2131c9a0f9d35779903fc2883e4c5a2&itemId=537779751798&shopIds=115196396&ut_sk=Page_Detail.2f5b9e2bb681ccd0cbaa78eb094360f5.Wl1PrraCLR4DAFntAJuMc0Lc.Friends&spm=a313p.3.bnhm8e.949609840127&short_name=x.ek7O6J&from=singlemessage&isappinstalled=0&app=weixin
该地址我用浏览器访问之后,发现他的数据实际请求了这个地址( https://m.hemaos.com/json/getDetail?itemId=537779751798&shopIds=115196396&callback=jsonp_7028116 ),然后渲染。
我用浏览器访问得到 Request Headers,使用 GuzzleHttp 模拟头信息去请求,始终得不到正确的返回结果。

有经验的同僚可以指点一二吗?谢谢。
2719 次点击
所在节点    PHP
9 条回复
crab
2018-05-31 16:16:13 +08:00
也就 user-agent 不一样吧?
milllky
2018-05-31 16:20:17 +08:00
不知道其他浏览器怎么弄,火狐浏览器里有个功能可以导出成 CURL 请求。然后再自己,或者到网上找一个 CURL 转换成 GuzzleHttp 的工具。
F1024
2018-05-31 16:30:18 +08:00
yadgen
2018-05-31 16:46:16 +08:00
@crab 没那么简单。
yadgen
2018-05-31 16:46:49 +08:00
@milllky 没有转 GuzzleHttp,但是拷贝 curl request 一样,还是不行。
yadgen
2018-05-31 16:47:04 +08:00
@F1024 拷贝 curl request,一直不行,很奇怪。
masha
2018-05-31 17:31:12 +08:00
我这试了试直接 curl 都可以
crab
2018-05-31 18:29:06 +08:00
@yadgen 直接测试后没问题,说明无 cookies 类要求,也没 referer。唯一问题就是 GuzzleHttp 你抓下看 user-agent
yadgen
2018-06-06 15:27:12 +08:00
@crab 嗯,搞定了,谢谢,我是抓下来了, 只是获取内容的方法使用错了,哈哈。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/459285

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX