2016-12-22 10 views
7

मैं निम्न त्रुटि हो रही है:PHP getimagesize - स्ट्रीम खोलने में विफल। गलत अनुरोध

getimagesize(https://static1.squarespace.com/static/570d03d02b8dde8b2642afca/570f74e87c65e4819dec6812/57272dbfb6aa606f78a5d8b5/1470397291105/4XTRYCK3.jpg): failed to open stream: HTTP request failed! HTTP/1.1 400 Bad Request

छवि अपने ब्राउज़र में समस्याओं के बिना खुलता है।

क्या कोई समझता है कि यह क्यों विफल रहता है?

+0

[इस पोस्ट] (http://stackoverflow.com/questions/23193870/php-function-getimagesize-gives- read-error-when-try-get-get-https-url) आपके लिए कुछ मदद प्रदान कर सकता है – dpp

+0

यह अविश्वसनीय रूप से अजीब है। मैंने अभी परीक्षण किया है, अब यूआरएल काम करता है (HTTP और HTTPS दोनों)। लेकिन मैं एक और समान कोशिश करता हूं, यह HTTP और HTTPS दोनों के लिए एक ही तरह से विफल रहता है। उदाहरण के लिए: https://static1.squarespace.com/static/570d03d02b8dde8b2642afca/570f74e87c65e4819dec6812/57272d96b6aa606f78a5d80a/1470397194245/4XTRYCK2.jpg – alieninlondon

+0

@ डीपीपी इसके अलावा, दुर्भाग्य से आपके द्वारा उल्लिखित पोस्ट में समाधान उसी तरह विफल रहता है। – alieninlondon

उत्तर

4

स्क्वायरस्पेस किसी भी कनेक्शन को अस्वीकार कर रहा है जहां उपयोगकर्ता-एजेंट हेडर वेब ब्राउज़र नहीं है। इसमें कर्ल और getimagesize शामिल हैं।

आप अपने कोड में इस डालने से उपयोगकर्ता-एजेंट हेडर सेट कर सकते हैं:

ini_set('user_agent','Mozilla/4.0 (compatible; MSIE 7.0b; Windows NT 6.0)'); 
+0

इससे मेरी समस्या हल हो गई! जोड़ यह है कि सर्वर वैध उपयोगकर्ता एजेंट को याद/कैश करता है। जब मैं पहली बार उपरोक्त ini_set के बिना getimagesize चलाता हूं तो इसे ब्लॉक करना चाहिए, जब मैं उपरोक्त ini_set के साथ getimagesize चलाता हूं, तो यह काम करता है, और अंतिम मजाकिया बात यह है कि जब मैं फिर से ini_set बंद करता हूं तो getimagesize कुछ दिनों/घंटे के लिए काम करता है (नहीं निश्चित रूप से) जब तक कि यह मूल त्रुटि में वापस नहीं आ जाता है। क्या कोई इसे समझा सकता है? हालांकि महत्वपूर्ण नहीं है, बस उत्सुक है। – alieninlondon

संबंधित मुद्दे