首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >生产中的Larevel HTTP客户端错误403

生产中的Larevel HTTP客户端错误403
EN

Stack Overflow用户
提问于 2022-05-17 14:37:22
回答 2查看 171关注 0票数 0

我正在做一个项目,打电话给一个电子商务网站来获取一些信息,并对它们进行分析。

我编写了以下代码来获取信息:

代码语言:javascript
复制
use Illuminate\Support\Facades\Http;

class TheController extends Controller {

public function getProductAndCompetitors() {

     public function getInformation() {
          $url = 'https://www.noon.com/_svc/catalog/api/v3/search?sku=N29905443A';
          $response = HTTP::get($url);
          dd($response);
     }
}

问题:

代码正在本地主机上工作,但当我将它部署到服务器时返回403错误。

附加信息:

  • 外部网站基于KSA (不知道服务器在哪里)
  • 当我复制并粘贴浏览器中的url时,它返回200
  • ,代码正在美国
  • 中的共享主机上工作,代码在KSA

< code >H 114中的本地主机上工作,代码不工作在VPS服务器上是Frankfort< code >h 215f 216

我尝试使用GuzzleHttp\Client代替,并添加一些标题,但这也不起作用。

EN

回答 2

Stack Overflow用户

发布于 2022-05-17 19:31:20

我不能评论,因为声誉低,但我需要看看日志。检查你的服务器,让我知道上面写着什么。

这可能有多种原因,而且我遇到了“丢失密钥”(php artisan key:generate)的常见问题。

票数 0
EN

Stack Overflow用户

发布于 2022-05-18 09:16:00

也许他们不喜欢以curl的形式从服务器发送请求,他们允许在本地主机上发送请求,但是他们有时会在来自服务器的请求上阻止请求。

代码语言:javascript
复制
try{
    $url = 'https://www.noon.com/_svc/catalog/api/v3/search?sku=N29905443A';
    $response = Http::withHeaders([
          'User-Agent' => 'Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/87.0.4280.66 Safari/537.36'   
      ])->get($url);
    dd($response->body());

   }  catch(\Illuminate\Http\Client\RequestException $e){
      // Log your errors
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/72275974

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档