السلام عليكم
كيف حالكم ، أرجو أن تكونو بخير
لدي طلب لو سمحتم وهو عبارة عن استفسار
هل توجد طريقة للحصول على عنوان (title) الرابط الخارجي باستعمال الجيكوري ، أقصد عنوان الرابط بالإمتداد مثلا :
ولا أقصد اسم الموقع
شكرا مقدما
و عليكم السلام،
لا يمكن. و السبب حماية تمنعك من الاتصال بأي رابط خارجي بسبب سياسة "نفس المنطقة"، same origin :
للتغلب عليها، تسطيع إنشاء تطبيق أو صفحة في موقعك بإحدى لغات البرمجة لجلب العنوان. و من خلال الجيكوري، تستعلم من تطبيقك و ليس من العنوان الخارجي.
صممت تطبيق بايثون صغير في
يقوم بعمل ما تريد. تستطيع تجربته و هذا مثال
/get_title?url=https://io.hsoub.com
التطبيق مفتوح المصدر و وضعته في
اداة رائعه لكن يظهر لي نفس المشكلة No 'Access-Control-Allow-Origin'
عندما تصلح المشكلة سوف يكون هذا هو المثال:
شكرا لك، أصلحتها في
و نشرتها في التطبيق و المصدر المفتوح
تستطيع تجربتها في مثالك.
نصيحة: لا تستعمل التطبيق
في أي من برامجك. رفعته كمثال و قد يُحذف في أي وقت :)
أي كان ، مثلا
الإدخال :
النتيجة التي أريدها : روسيا تعلق دفع مستحقات مالية لمجلس أوروبا
إطلع على هذا الجواب:
مع ذلك سيكون فيه مشاكل، ومحاولة جلبه بشكل مباشر جدا ستكون أكثر مشاكل وغير عملية.
جرب هذا الكود : (إذا لم يشتغل تفقد الكونسول)
var url = prompt("أدخل رابط الموقع :");
$.get(url, function(data) {
alert($(data)[1].innerText);
});
قم بجلب محتوى الصفحة بالاجاكس ثم حول المحتوى الذي جلبته الى html ثم قم بالبحث عن الوسم الخاص بالعنوان كهذا المثال:
$.parseHTML(ajaxResponse).filter('title').text() ;
*قم بنسخ الكود والصقه في اي مكان اخر ليظهر بشكل منظم لا اعلم لماذا لا تعمل معي خاصية ادراج الاكواد ....
مرحبا،
jsfiddle لا يدعم الاجاكس
شاهد هذا المثال
قم بنسخ الكود عندك وتاكد من انك تستعمل ال localhost لتشغيل الصفحة، او جرب مباشرة في المثال.
بالنسبة للاجاكس من خلال ال localhost فإن بعض المواقع تمنعك من ارسال طلبات اجاكس من ال localhost لذلك في هذا المثال استعملت موقع crossorigin كوسيط حيث انه سيقوم بارسال طلب الاجاكس للموقع المطلوب و يرجعه لك. ان كان لديك اي سؤال في الكود تفضل بالسؤال.
بالتوفيق.
يمكنك إستعمال دالة file_get_contents في PHP لجلب محتوى الصفحة ثم إقتصاص أي جزء عن طريق preg_match ،
بالنسبة لموقع هسربس مثلا :
$file = file_get_contents('
preg_match('#<title>(.*)</title>#', $file, $matches);
echo $matches[1];
التعليقات