راکت

دریافت نکردن اطلاعات با file get contents در هاست اشتراکی

3 پاسخ

سلام، من برای گرفتن آب و هوا هر شهر از سایت openweathermap درخواست ارسال میکنم، اما سایتم به من خطا میده. به پشتیبانی هاست هم گزارش دادم و میگن که شما الان میتونین از getfilecontent() استفاده کنید ولی باز هم این خطا رو دارم.

failed to open stream: HTTP request failed! HTTP/1.0 403 Forbidden

کد:

    public function weather()
    {

        $PublicIP = "IP Address";
        $token = "";
        $request_json = file_get_contents("http://ipinfo.io/$PublicIP/geo?token=$token");
        $request_json = json_decode($request_json, true);
        $city = $request_json['city'];

        $lang = "fa";
        $api_key = "";
        $web = "https://api.openweathermap.org/data/2.5/weather?q=" . $city . "&units=metric&appid=" . $api_key . "&lang=" . $lang;

        $json = file_get_contents($web);
        $weather = json_decode($json, true);

        $articles = Article::take(3)->latest()->get();
        return view('front.online-tools.weather.index', compact("weather", "articles"));
    }
ثبت پرسش جدید

پاسخ‌ها

3
مجتبی دلشاد
مجتبی دلشاد
@delshad

تخصص: توسعه دهنده بک اند

خطای ‍403 Forbidden داده شده فکر نمیکنم مشکل از کد شما باشه و مشکل از سمت سرویس دهنده است چک کنید ببینید این خطا از ipinfoداده میشه یا openweathermap

علیرضا تحریری
علیرضا تحریری
@alirezatahriri

تخصص: لاراول، لایوایر و Tailwind css

سلام @delshad، تمامی تست ها رو روی localhost انجام دادم و نتیجه را به درستی نشون میداد. وقتی آوردمش روی هاست دائما داره خطا 500 میده.

https://mimoc.ir/weather

شاید پاسخ شما همین‌جا باشد

Alimotreb
Alimotreb
@Alimotreb

تخصص: کانفیگ سرور و برنامه نویس

سلام
@alirezatahriri

با https تست کنید
هم فایل خودتون که تو وب ران میکنید و بهتش درخواست میدید
هم لینک API که در کدتون زدید
https بگذارید و تست بگیرید.

برای ارسال پاسخ لازم است وارد شده یا ثبت‌نام کنید

ورود یا ثبت‌نام