Rumah >Java >javaTutorial >Mengapa Kaedah setRequestProperty() Saya Tidak Menambah Pengepala pada Permintaan HttpURLConnection?

Mengapa Kaedah setRequestProperty() Saya Tidak Menambah Pengepala pada Permintaan HttpURLConnection?

Susan Sarandon
Susan Sarandonasal
2024-11-10 12:04:02922semak imbas

Why Isn't My setRequestProperty() Method Adding Headers to HttpURLConnection Requests?

Menambahkan Pengepala pada Permintaan HttpURLConnection

Apabila bekerja dengan permintaan HTTP, selalunya perlu menambah pengepala tersuai pada permintaan. Walau bagaimanapun, sesetengah pengguna telah menghadapi isu di mana kaedah setRequestProperty() nampaknya tidak berfungsi seperti yang diharapkan, menyebabkan pelayan tidak menerima sebarang permintaan dengan pengepala yang dimaksudkan.

Untuk menyelesaikan isu ini, adalah penting untuk pastikan anda telah menetapkan sifat berikut dengan betul:

  • hc.setDoOutput(true): Menentukan bahawa permintaan mempunyai badan.
  • hc.setDoInput(true): Menentukan bahawa respons dijangka mempunyai badan.
  • hc.setUseCaches(false): Melumpuhkan cache untuk sambungan.

Seterusnya, anda perlu mengendalikan logik pengesahan dengan betul:

  • Jika anda menggunakan pengesahan Asas, cuba gunakan coretan kod berikut:
String authorization = "username:password";
String basicAuth = "Basic " + new String(Base64.getEncoder().encode(authorization.getBytes()));
hc.setRequestProperty("Authorization", basicAuth);
  • Jika anda menggunakan jenis pengesahan yang berbeza, laraskan kebenaran berubah dengan sewajarnya.

Setelah tetapan ini dikonfigurasikan dengan betul, pengepala harus berjaya ditambahkan pada permintaan dan pelayan harus menerima permintaan seperti yang diharapkan.

Atas ialah kandungan terperinci Mengapa Kaedah setRequestProperty() Saya Tidak Menambah Pengepala pada Permintaan HttpURLConnection?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn