我正在做一个项目,打电话给一个电子商务网站来获取一些信息,并对它们进行分析。
我编写了以下代码来获取信息:
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错误。
附加信息:
< code >H 114中的本地主机上工作,代码不工作在VPS服务器上是Frankfort< code >h 215f 216
我尝试使用GuzzleHttp\Client代替,并添加一些标题,但这也不起作用。
发布于 2022-05-17 19:31:20
我不能评论,因为声誉低,但我需要看看日志。检查你的服务器,让我知道上面写着什么。
这可能有多种原因,而且我遇到了“丢失密钥”(php artisan key:generate)的常见问题。
发布于 2022-05-18 09:16:00
也许他们不喜欢以curl的形式从服务器发送请求,他们允许在本地主机上发送请求,但是他们有时会在来自服务器的请求上阻止请求。
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
}https://stackoverflow.com/questions/72275974
复制相似问题