Menyelesaikan Masalah Penambahan Pengepala dalam HttpURLConnection
Apabila cuba menambah pengepala pada permintaan HttpURLConnection, kaedah setRequestProperty() mungkin tidak sentiasa berfungsi seperti yang diharapkan , menyebabkan pelayan tidak menerima pengepala yang dimaksudkan.
Satu penyelesaian berpotensi, yang telah terbukti berkesan dalam persekitaran TomCat, ialah menggunakan coretan kod berikut:
URL myURL = new URL(serviceURL); HttpURLConnection myURLConnection = (HttpURLConnection)myURL.openConnection(); String userCredentials = "username:password"; String basicAuth = "Basic " + new String(Base64.getEncoder().encode(userCredentials.getBytes())); myURLConnection.setRequestProperty ("Authorization", basicAuth); // Adjust these properties based on request type (POST/GET) and other requirements myURLConnection.setRequestMethod("POST"); myURLConnection.setRequestProperty("Content-Type", "application/x-www-form-urlencoded"); myURLConnection.setRequestProperty("Content-Length", "" + postData.getBytes().length); myURLConnection.setRequestProperty("Content-Language", "en-US"); myURLConnection.setUseCaches(false); myURLConnection.setDoInput(true); myURLConnection.setDoOutput(true);
Kod ini khusus direka untuk permintaan POST, tetapi anda boleh mengubah suainya dengan mudah untuk GET atau jenis permintaan lain jika perlu. Dengan menggunakan kemas kini ini, anda sepatutnya berjaya menambahkan pengepala pada permintaan HttpURLConnection anda dan memastikan pelayan menerima pengepala yang dijangkakan.
Atas ialah kandungan terperinci Bagaimana untuk Memastikan Pengepala Diterima dalam Permintaan HttpURLConnection?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!