Saya sedang menulis python untuk melakukan crawling Twitter menggunakan Twitter-py. Saya telah mengatur crawler untuk tidur sebentar (2 detik) di antara setiap permintaan ke api.twitter.com. Namun, setelah beberapa kali berjalan (sekitar 1), ketika batas rate Twitter belum terlampaui, saya mendapatkan error ini.
[Errno 10054] An existing connection was forcibly closed by the remote host.
Apa kemungkinan penyebab masalah ini dan bagaimana cara mengatasinya?
Saya telah mencari-cari dan menemukan bahwa server Twitter itu sendiri mungkin memaksa untuk menutup koneksi karena banyaknya permintaan.
Terima kasih banyak sebelumnya.
Hal ini bisa disebabkan oleh dua sisi koneksi yang tidak setuju apakah koneksi tersebut waktunya habis atau tidak selama keepalive. (Kode Anda mencoba untuk menggunakan kembali koneksi tepat saat server menutupnya karena sudah terlalu lama menganggur). Pada dasarnya, Anda seharusnya hanya mencoba kembali operasi melalui koneksi baru. (Saya heran perpustakaan Anda tidak melakukan ini secara otomatis).
ada banyak penyebab seperti
Untuk memeriksa masalah secara detail, Anda dapat menggunakan Wireshark.
atau Anda bisa meminta ulang atau menyambung kembali.
Bagi saya, masalah ini muncul ketika mencoba untuk terhubung ke database SAP Hana. Ketika saya mendapat kesalahan ini,
OperationalError: Kehilangan koneksi ke server HANA (ConnectionResetError(10054, 'Koneksi yang ada ditutup secara paksa oleh remote host', None, 10054, None))Saya mencoba menjalankan kode untuk koneksi (yang disebutkan di bawah), yang menciptakan kesalahan itu, lagi dan berhasil.
import pyhdb connection = pyhdb.connect(host="example.com",port=30015,user="user",password="secret") cursor = connection.cursor() cursor.execute("SELECT 'Hello Python World' FROM DUMMY") cursor.fetchone() connection.close()
Itu karena server menolak untuk terhubung. Mungkin Anda perlu menunggu beberapa saat dan mencoba lagi. Coba tutup Hana Studio dengan log off dan kemudian masuk lagi. Tetap jalankan kode untuk beberapa kali.