为了账号安全,请及时绑定邮箱和手机立即绑定

无法使用 shell_exec 和 curl php 连接到特定网站

无法使用 shell_exec 和 curl php 连接到特定网站

PHP
不负相思意 2021-12-03 16:37:00
我正在尝试访问此(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

..这不能解决我怀疑是你的实际问题,那个齿轮野兽正在阻止卷曲,但这不是你真正的问题,所以我想我不会进入那个......?


查看完整回答
反对 回复 2021-12-03
?
红颜莎娜

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



查看完整回答
反对 回复 2021-12-03
  • 2 回答
  • 0 关注
  • 204 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信