30/09/2018, 18:43
Lỗi ProtocolException : Too many REDIRECTS từ 1 URL trong Java
Em đang làm app đọc báo online
Em có mấy trang như VNE, Dantri, …Soha, Kenh14
với các trang VNE , Dantri thì với rss họ cung cấp, em lấy về dữ liệu rất ngon lành. Nhưng cùng thao tác ấy, với link rss của Soha thì luôn bị lỗi ?
Lỗi hiện ra là ProtocolException : Too mnay REDIRECTS. Đây là lỗi của code mình hay của server ạ ? VÀ AI GẶP RỒI THÌ CÓ CÁCH FIX KHÔNG Ạ. STACKOVERFLOWS e tìm mãi mà chưa ra kết quả
Bài liên quan
bẹn show log error cho mình xem đc không. ?
thực ra lấy về rồi là ok rồi, chỉ còn phần client bạn code ntn mới lỗi thôi bạn à.
tức là với link rss của VNE hay Dantri thì đoạn code có thể get về ngon lành, cơ mà rss của soha hay kenh14 thì không get được
Kiểu như nó chỉ cho máy được phép mới lấy được về hay sao ấy @@
bạn có ghi log nội dung lấy về là gì được chưa? chỉ là cái links nếu họ đã cung cấp cho dev RSS thì bạn sẽ lấy được.
đoạn code trên thì không sao VỚI CÁC LINK RSS CỦA VNE, DANTRI, nhưng chỉ cần LÀ LINK TỪ KENH14 HAY SOHA THÌ dòng reader = new … thì sẽ BỊ LỖI VÀ force stop ngay. Kiểu không getInputStream được từ link đó
java.lang.RuntimeException: An error occured while executing doInBackground()
at android.os.AsyncTask$3.done(AsyncTask.java:299)
at java.util.concurrent.FutureTask$Sync.innerSetException(FutureTask.java:273)
at java.util.concurrent.FutureTask.setException(FutureTask.java:124)
at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:307)
at java.util.concurrent.FutureTask.run(FutureTask.java:137)
at android.os.AsyncTask$SerialExecutor$1.run(AsyncTask.java:230)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1076)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:569)
at java.lang.Thread.run(Thread.java:856)
Caused by: java.lang.RuntimeException: Can’t create handler inside thread that has not called Looper.prepare()
at android.os.Handler.(Handler.java:121)
at android.widget.Toast$TN.(Toast.java:322)
at android.widget.Toast.(Toast.java:91)
at android.widget.Toast.makeText(Toast.java:238)
at com.example.diep_chelsea.httprequest.SohaActivity$MyLoader.doInBackground(SohaActivity.java:158)
at com.example.diep_chelsea.httprequest.SohaActivity$MyLoader.doInBackground(SohaActivity.java:133)
at android.os.AsyncTask$2.call(AsyncTask.java:287)
at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:305)
at java.util.concurrent.FutureTask.run(FutureTask.java:137)
at android.os.AsyncTask$SerialExecutor$1.run(AsyncTask.java:230)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1076)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:569)
at java.lang.Thread.run(Thread.java:856)
11-08 23:33:39.819 1040-1040/com.example.diep_chelsea.httprequest W/EGL_genymotion﹕ eglSurfaceAttrib not implemented
Chắc họ không làm gì để chặn đâu vì mình thử với các trình đọc rss khác đều ổn mà nếu cần chặn thì họ chỉ việc bỏ chức năng rss đi là xong, việc gì phải rắc rồi thế
Thử xem, tự sửa lại nhé
vì em đọc các trang khâc đều ổn. Riêng với Soha và Kenh14 có app đọc tin thì không lấy ra được
Bác ơi. API 4.0 không dùng DefaultHttp :v
Dùng thư viện cho nhanh
Lên giúp em với. huhuhu