Server jarak jauh mengembalikan kesalahan: 500

pemrograman


Hai teman-teman. Saya mencoba mengumpulkan tautan gambar di web.[DELETED].com tetapi ketika saya menjalankan kode saya, saya mendapatkan kesalahan server jarak jauh (500). Pada dasarnya program saya berjalan melalui loop untuk setiap halaman dan mengumpulkan semua link gambar ke dalam daftar. Saya tidak yakin apakah itu kesalahan mereka atau kesalahan saya. Ada 12 gambar per halaman ditambah link ke halaman berikutnya untuk diurai. Ini kode saya:

Apa yang saya coba:

VB
<pre>        Do
            Dim wrWebRequest As HttpWebRequest = CType(WebRequest.Create(strURL), HttpWebRequest)
            Dim wrWebResponse As HttpWebResponse = CType(wrWebRequest.GetResponse(), HttpWebResponse)
            Dim strStream As Stream = wrWebResponse.GetResponseStream()
            Dim intBuffer(8388608) As Byte
            Dim intBytesToRead As Integer = CInt(intBuffer.Length)
            Dim intBytesRead As Integer = 0
            While intBytesToRead > 0
                Dim intNumber As Integer = strStream.Read(intBuffer, intBytesRead, intBytesToRead)
                If intNumber = 0 Then
                    Exit While
                End If
                intBytesRead += intNumber
                intBytesToRead -= intNumber
            End While
            strStream.Close()
            Dim fsFileStream As New FileStream("index.html", FileMode.Create, FileAccess.Write)
            fsFileStream.Write(intBuffer, 0, intBytesRead)
            fsFileStream.Close()
            fsFileStream = New FileStream("index.html", FileMode.Open, FileAccess.Read)
            Dim srSteamReader As New StreamReader(fsFileStream)
            Dim strData As String = srSteamReader.ReadToEnd
            srSteamReader.Close()
            fsFileStream.Close()

            Dim rgxPost As Regex = New Regex("""url"": ""https://web.[DELETED].com/p/\w*\S*"">")
            Dim mchPost As Match = rgxPost.Match(strData)
            While mchPost.Success
                lstPosts.Add(mchPost.ToString)
                mchPost = mchPost.NextMatch
            End While

            Dim rgxCursor As Regex = New Regex("cursor=\w*\S*&uid=\d*")
            Dim mchCursor As Match = rgxCursor.Match(strData)
            If mchCursor.Success Then
                strURL = "https://web.[DELETED].com/kaiagerber?" & mchCursor.ToString
            Else
                strURL = ""
                Exit Do
            End If
        Loop

Solusi 3

500 kesalahan dikembalikan oleh server berarti kode sisi server gagal dalam beberapa hal.
Hal itu bisa disebabkan oleh dua hal. Yang pertama adalah bug pada kode sisi server. Ini jarang terjadi di situs web produksi, tapi bisa saja terjadi.

Jenis kegagalan lainnya adalah URL yang Anda buat dan kirimkan ke server web tidak dapat diuraikan secara sah oleh server dan data ditetapkan dengan benar ke variabel dalam kode aplikasi web.

Jenis kegagalan kedua ini adalah penghasil 500 kesalahan yang paling umum. Anda memberi server beberapa data yang kode aplikasinya tidak tahu apa yang harus dilakukan dan/atau Anda gagal memberikan beberapa data yang diharapkan.

Solusi 2

Dari : RFC untuk HTTP (https://tools.ietf.org/html/rfc7231#section-6.6.1[^])

6.6.1. 500 Internal Server Error

Kode status 500 (Internal Server Error) menunjukkan bahwa server
menemui kondisi tak terduga yang menghalangi pemenuhannya
Permintaan.

Sepertinya kesalahan tersebut mungkin terkait dengan cara server menangani permintaan.

Jika Anda mengirimkan URL yang buruk kemungkinan besar Anda akan mendapatkan 404 (sumber daya tidak ditemukan) tetapi itu tergantung pada server juga.

Anda harus memeriksa ulang URL yang Anda buat (dengan menelusuri kode) dan kemudian memverifikasi secara manual menggunakan browser apa yang terjadi dengan URL yang dihasilkan.

Solusi 4

Server jarak jauh mengembalikan kesalahan (500) Kesalahan server internal

コメント

タイトルとURLをコピーしました