Menambah Pengepala pada Permintaan HttpURLConnection
Apabila cuba menambah pengepala pada permintaan HttpURLConnection anda, anda mungkin menghadapi situasi di mana pelayan gagal untuk mengakui maklumat tajuk. Jika menetapkan sifat permintaan menggunakan setRequestProperty() tidak menyelesaikan isu, pertimbangkan penyelesaian berikut:
Penyelesaian:
Untuk memastikan pengepala ditetapkan dengan betul, cuba langkah berikut:
Buat tika baharu HttpURLConnection:
URL myURL = new URL(serviceURL); HttpURLConnection myURLConnection = (HttpURLConnection)myURL.openConnection();
Sediakan nilai pengepala:
String userCredentials = "username:password"; String basicAuth = "Basic " + new String(Base64.getEncoder().encode(userCredentials.getBytes()));
Set "Kebenaran" pengepala:
myURLConnection.setRequestProperty ("Authorization", basicAuth);
Konfigurasikan sambungan:
myURLConnection.setRequestMethod("POST"); // Assuming a POST request 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);
Pendekatan yang diubah suai ini harus memastikan bahawa pengepala "Kebenaran" ditambah dengan betul pada permintaan dan harus diterima oleh pelayan.
Atas ialah kandungan terperinci Mengapa Pengepala Tidak Diiktiraf dalam Permintaan HttpURLConnection Saya?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!