علیرضا تحریری
3 سال پیش توسط علیرضا تحریری مطرح شد
3 پاسخ

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

سلام، من برای گرفتن آب و هوا هر شهر از سایت 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"));
    }

ثبت پرسش جدید
مجتبی دلشاد
تخصص : توسعه دهنده بک اند
@delshad 3 سال پیش مطرح شد
0

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


علیرضا تحریری
تخصص : لاراول، لایوایر و Tailwind css
@alirezatahriri 3 سال پیش مطرح شد
0

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

https://mimoc.ir/weather


Alimotreb
تخصص : کانفیگ سرور و برنامه نویس
@Alimotreb 3 سال پیش مطرح شد
0

سلام
@alirezatahriri

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


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

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