我正在尝试访问此(https://www.gearbest.com/cell-phones/pp_009969695587.html)页面,但没有运气。我没有得到回应...<?php$output = shell_exec('curl -L "Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:59.0) Gecko/20100101 Firefox/59.0" https://www.gearbest.com/cell-phones/pp_009969695587.html');echo $output; $html= str_get_html($output); echo $html; ?>
2 回答
萧十郎
TA贡献1815条经验 获得超13个赞
你忘了检查标准错误。你在 stderr 中得到输出,但我猜你的 stderr 被重定向到了你没有看到的地方(例如,如果你使用的是 php-fpm+nginx,那么 stderr 通常默认重定向到 nginx 的错误日志)
检查您的标准错误,或通过2>&1
在命令末尾添加将标准错误重定向到标准输出。
作为记录,这是我期望您在 stderr 中获得的内容(这是我在运行时在 stderr 中获得的内容):
curl: (6) Could not resolve host: Mozilla curl: (56) OpenSSL SSL_read: SSL_ERROR_SYSCALL, errno 104
..这不能解决我怀疑是你的实际问题,那个齿轮野兽正在阻止卷曲,但这不是你真正的问题,所以我想我不会进入那个......?
红颜莎娜
TA贡献1842条经验 获得超12个赞
基于这个答案https://stackoverflow.com/a/31597823/80836以下似乎有效:
curl 'https://www.gearbest.com/cell-phones/pp_009969695587.html' -H 'authority: www.gearbest.com' -H 'upgrade-insecure-requests: 1' -H 'user-agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/76.0.3809.100 Safari/537.36' -H 'sec-fetch-mode: navigate' -H 'sec-fetch-user: ?1' -H 'accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3' -H 'sec-fetch-site: none' -H 'accept-encoding: gzip, deflate, br' -H 'accept-language: en-US,en;q=0.9,el;q=0.8' --compressed
- 2 回答
- 0 关注
- 204 浏览
添加回答
举报
0/150
提交
取消