10/10/2018, 10:45
Vấn đề với file_get_contents
Có ba link sau đây mình dùng file_get_contents không được mong các bạn chỉ giúp cách dùng.
1. http://doisongphapluat.com.vn/Story....zone=1&ID=5867.
Bị báo lỗi "failed to open stream: HTTP request failed! HTTP/1.1 500 Internal Server Error"
2. http://www.toquoc.gov.vn/Thongtin/Di...-An-Ngoai.html
Bị báo lỗi "DotNetNuke Error: - Version 04.09.00"
3. http://nhipsongso.tuoitre.vn/Index.a...6&ChannelID=16
Với link này, ko hiển thị được nội dung chính.
Mình đã dùng như thế này.
<?php
$file = file_get_contents('http://doisongphapluat.com.vn/Story.aspx?lang=vn&zoneparent=0&zone=1&ID=5867');
echo $file;
?>
Đồng thời đã thử với curl nhưng cũng không được
<?php
$u = 'http://doisongphapluat.com.vn/Story.aspx?lang=vn&zoneparent=0&zone=1&ID=5867';
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $u);
curl_setopt($ch, CURLOPT_HEADER, 0);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
$translate = curl_exec($ch);
curl_close($ch);
echo $translate.'<br/>';
?>
Những cách thức trên mình đã sử dụng và chạy tốt đối với các link khác.
Mong các bạn trợ giúp!
1. http://doisongphapluat.com.vn/Story....zone=1&ID=5867.
Bị báo lỗi "failed to open stream: HTTP request failed! HTTP/1.1 500 Internal Server Error"
2. http://www.toquoc.gov.vn/Thongtin/Di...-An-Ngoai.html
Bị báo lỗi "DotNetNuke Error: - Version 04.09.00"
3. http://nhipsongso.tuoitre.vn/Index.a...6&ChannelID=16
Với link này, ko hiển thị được nội dung chính.
Mình đã dùng như thế này.
<?php
$file = file_get_contents('http://doisongphapluat.com.vn/Story.aspx?lang=vn&zoneparent=0&zone=1&ID=5867');
echo $file;
?>
Đồng thời đã thử với curl nhưng cũng không được
<?php
$u = 'http://doisongphapluat.com.vn/Story.aspx?lang=vn&zoneparent=0&zone=1&ID=5867';
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $u);
curl_setopt($ch, CURLOPT_HEADER, 0);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
$translate = curl_exec($ch);
curl_close($ch);
echo $translate.'<br/>';
?>
Những cách thức trên mình đã sử dụng và chạy tốt đối với các link khác.
Mong các bạn trợ giúp!
Bài liên quan
Như cái trang doisongphapluat, họ sử dụng cookies tên là ASP.NET_SessionId. Mỗi khi được request, server sẽ check cookies này. Nếu chưa tồn tại nó sẽ tạo ra cookies này sau đó redirect lại chính nó. Ở lần request thứ hai, do cookies đã tồn tại nên sẽ trả về nội dung. Vì vậy trên browser hiển thị tốt.
Còn khi bạn dùng file_get_contents(), cookies không được tạo ra dẫn đến tình trạng redirect chính nó mãi mãi và đến một lúc nào đó sẽ sinh lỗi 500 Internal Server Error
curl_setopt($ch,CURLOPT_USERAGENT,'Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1.13) Gecko/20080311 Firefox/2.0.0.13');
Hôm nay làm theo bạn VnVision, chạy rất ok. Rất mong bạn có thể giải thích giúp mình chi tiết hơn một chút về CURLOPT_USERAGENT và các phần tử phía sau để giúp mình và các thành viên khác hiểu sâu hơn về vấn đề này.
Với link :http://nhipsongso.tuoitre.vn/Index.a...6&ChannelID=16 . Không rõ họ dùng cách gì nhưng không thể nào khiến nội dung chính hiện lên. Nó chỉ hiện lên header, side bar và footer. Ko thể làm hiện nội dung chính của nó lên được. Các bạn cho mình ý kiến nhé
Trang của tuoitre.vn bạn đưa họ chỉ dùng css để cho nội dung ko hiện ra: