Rumah > Soal Jawab > teks badan
Http请求,用response.getStatusLine().getStatusCode()判断返回值为200,是不是说明对方一定收到请求了?对方是IIS服务器,我的方法已经正确返回200,日志有打印,对方却一直咬定没有收到,我没有接触过IIS服务器,除了这个人以外,别的都没有问题!并且根据对方所说,并不是一直存在类似问题,一天会出现几次,抓包都不好抓!所以想请有遇到过类似问题或有经验丰富的开发帮助分析一下!
迷茫2017-04-18 10:52:12
Jika pelayan mengembalikan 200, ia boleh disahkan bahawa pelayan berjaya menerima permintaan pelanggan. Dalam kes anda, anda boleh log semua mesej yang dikembalikan oleh pelayan, termasuk maklumat pengepala mesej, maklumat badan mesej dan masa komunikasi. Apabila masalah seperti ini berlaku di sini, cari mesej berdasarkan masa kejadian, kemudian bandingkan mesej ini dengan mesej lain untuk melihat jika terdapat apa-apa yang tidak normal
巴扎黑2017-04-18 10:52:12
Jika ia belum dirampas, pastikan kod anda tidak ditulis dengan betul. Kemudian ialah
PHP中文网2017-04-18 10:52:12
Ada kemungkinan pihak yang satu lagi mengembalikan ralat dengan http 200, jadi kod status pulangan yang anda lihat di sini adalah baik, tetapi pelayan pihak yang satu lagi sebenarnya telah membuat ralat
阿神2017-04-18 10:52:12
Pertama sekali, kita perlu memahami apa itu HTTP 200:
Permintaan telah berjaya dan pengepala respons atau badan data yang dijangkakan oleh permintaan akan dikembalikan dengan respons ini.
Permintaan telah dipenuhi dan sumber baharu telah dibuat berdasarkan keperluan permintaan dan URInya telah dikembalikan dengan pengepala Lokasi. Jika sumber yang diperlukan tidak dapat dibuat dalam masa, '202 Diterima' harus dikembalikan.
Permintaan telah diterima oleh pelayan tetapi belum diproses lagi. Sama seperti ia mungkin dinafikan, permintaan itu mungkin atau mungkin tidak akhirnya dilaksanakan. Dalam kes operasi tak segerak, tiada cara yang lebih mudah daripada menghantar kod status ini.
Tujuan mengembalikan respons kod status 202 adalah untuk membenarkan pelayan menerima permintaan daripada proses lain (seperti operasi berasaskan kelompok yang hanya dilakukan sekali sehari) tanpa perlu memastikan pelanggan disambungkan ke pelayan sehingga operasi kumpulan Semua selesai. Respons yang menerima pemprosesan permintaan dan mengembalikan kod status 202 harus mengandungi beberapa maklumat dalam entiti yang dikembalikan yang menunjukkan status semasa pemprosesan, serta penunjuk kepada pemantau status pemprosesan atau ramalan status supaya pengguna boleh menganggarkan sama ada operasi telah selesai.
Pelayan telah berjaya memproses permintaan, tetapi metamaklumat pengepala entiti yang dikembalikan bukanlah set pasti yang sah pada pelayan asal, tetapi salinan daripada pihak tempatan atau ketiga. Maklumat semasa mungkin subset atau superset versi asal. Contohnya, mengandungi metadata untuk sumber boleh menyebabkan pelayan asal mengetahui superset metamaklumat. Menggunakan kod status ini tidak diperlukan dan hanya sesuai jika respons akan mengembalikan 200 OK tanpa kod status ini.
Kedua, jika anda menerima permintaan 200, ini hanya bermakna perkhidmatan tersebut telah berjaya diterima, dan ini tidak bermakna sama ada kod perniagaan pihak lain boleh diterima. Secara amnya, syarikat akan mempunyai lapisan rangkaian seperti perkhidmatan tembok api dan perkhidmatan pengedaran, dan sesetengahnya akan mempunyai lapisan gerbang perniagaan.
Akhir sekali, semak format data komunikasi.