Artikel ini menjelaskan cuplikan kode terperinci dari POST, GET, dan permintaan akses proxy untuk Java untuk mengimplementasikan HTTP. Ini dibagikan kepada Anda untuk referensi Anda. Konten spesifiknya adalah sebagai berikut
paket com.snowfigure.kits.net; impor java.io.bufferedReader; impor java.io.ioException; impor java.io.inputstream; impor java.io.inputStreamReader; impor java.io.outputStreamWriter; impor java.io.unsupportedencodingException; impor java.net.httpurlconnection; impor java.net.inetsocketaddress; impor java.net.proxy; impor java.net.url; impor java.net.urlconnection; import java.util.list; impor java.util.map; /** * Kelas Alat Permintaan HTTP * @Author SnowFigure * @since 2014-8-24 13:30:56 * @Version V1.0.1 */Kelas Publik HttPRequesTutil {static boolean proxyset = false; string statis proxyhost = "127.0.0.1"; proxyport int statis = 8087; / ** * encoding * @param Source * @return */ public static string urlencode (sumber string, string encode) {string result = source; coba {hasil = java.net.urlencoder.encode (sumber, encode); } catch (UnsupportedEncodingException e) {e.printstacktrace (); mengembalikan "0"; } hasil pengembalian; } public static string urlencodegbk (sumber string) {string result = source; coba {hasil = java.net.urlencoder.encode (sumber, "gbk"); } catch (UnsupportedEncodingException e) {e.printstacktrace (); mengembalikan "0"; } hasil pengembalian; } / *** Memulai permintaan http untuk mendapatkan hasil pengembalian* @param req_url alamat permintaan* @return* / public static string httpRequest (string req_url) {stringBuffer buffer = new stringBuffer (); coba {url url = url baru (req_url); HttpurlConnection httpurlconn = (httpurlconnection) url.openconnection (); httpurlconn.setDoOutput (false); httpurlconn.setdoInput (true); httpurlconn.setusecaches (false); httpurlconn.setRequestMethod ("get"); httpurlconn.connect (); // Konversi aliran input yang dikembalikan menjadi inputStream inputStream = httpurlconn.getInputStream (); InputStreamReader inputStreamReader = inputStreamReader baru (inputStream, "UTF-8"); BufferedReader bufferedReader = BufferedReader baru (InputStreamReader); String str = null; while ((str = bufferedreader.readline ())! = null) {buffer.append (str); } bufferedreader.close (); inputStreamReader.close (); // lepaskan sumber daya inputStream.close (); inputStream = null; httpurlconn.disconnect (); } catch (Exception e) {System.out.println (e.getStackTrace ()); } return buffer.toString (); } / *** Kirim permintaan http untuk mendapatkan aliran input yang dikembalikan* @param requestUrl alamat permintaan* @return inputStream* / public static inputStream httpRequestio (string requestUrl) {inputStream inputStream = null; coba {url url = url baru (requestUrl); HttpurlConnection httpurlconn = (httpurlconnection) url.openconnection (); httpurlconn.setdoInput (true); httpurlconn.setRequestMethod ("get"); httpurlconn.connect (); // Dapatkan inputStream yang dikembalikan = httpurlconn.getInputStream (); } catch (Exception e) {E.PrintStackTrace (); } return inputstream; } /** * Kirim permintaan ke URL yang ditentukan * * @param URL * URL untuk mengirim permintaan * @param param * parameter permintaan, parameter permintaan harus dalam bentuk nama1 = value1 & name2 = value2. * @Return URL Hasil respons dari sumber daya jarak jauh yang diwakili oleh sumber daya jarak jauh*/ public static string sendGet (string url, string param) {string result = ""; BufferedReader di = null; coba {string urlnamestring = url + "?" + param; Url realUrl = URL baru (urlnamestring); // buka koneksi antara koneksi URL URLConnection = realUrl.openconnection (); // Atur koneksi atribut permintaan umum.setRequestProperty ("terima", "*/*"); Connection.setRequestProperty ("Connection", "Keep-Alive"); Connection.setRequestProperty ("User-Agent", "Mozilla/4.0 (kompatibel; MSIE 6.0; Windows NT 5.1; SV1)"); // Buat koneksi koneksi aktual.connect (); // Dapatkan semua bidang header respons peta <string, daftar <string>> map = connection.getHeaderFields (); // lintasi semua bidang header respons untuk (tombol string: map.keyset ()) {System.out.println (key + "--->" + Map.get (key)); } // Tentukan aliran input BufferedReader untuk membaca respons URL di = BufferedReader baru (inputStreamReader baru (connection.getInputStream ())); Garis string; while ((line = in.readline ())! = null) {result += line; }} catch (Exception e) {System.out.println ("Pengecualian terjadi saat mengirim permintaan GET!" + E); e.printstacktrace (); } // Gunakan blok akhirnya untuk menutup aliran input akhirnya {coba {if (in! = Null) {in.close (); }} catch (Exception e2) {e2.printstacktrace (); }} hasil pengembalian; } /** * Kirim permintaan ke URL yang ditentukan * URL @param * URL untuk mengirim permintaan * @param paramer * parameter permintaan, parameter permintaan harus dalam bentuk nama1 = value1 & name2 = value2. * @param isproxy * Apakah akan menggunakan mode proxy * @Return Hasil respons dari sumber daya jarak jauh yang diwakili oleh @return */ public static string sendPost (string url, string param, boolean isproxy) {outputStreamWriter out = null; BufferedReader di = null; Hasil string = ""; coba {url realUrl = URL baru (url); HttpurlConnection conn = null; if (isProxy) {// Gunakan mode proxy @suppresswarnings ("static-access") proxy proxy = proxy baru (proxy.type.direct.http, inetsocketAddress baru (proxyhost, proxyport)); conn = (httpurlConnection) realUrt.openconnection (proxy); } else {conn = (httpurlConnection) realUrl.openconnection (); } // Buka koneksi ke url // untuk mengirim permintaan pos, Anda harus mengatur dua baris berikut Conn.setDoOutput (true); Conn.setDoInput (true); Conn.setRequestMethod ("Post"); // Metode POST // Atur atribut permintaan umum Conn.setRequestProperty ("Accept", "*/*"); Conn.setRequestProperty ("Connection", "Keep-Alive"); Conn.setRequestProperty ("User-Agent", "Mozilla/4.0 (kompatibel; MSIE 6.0; Windows NT 5.1; SV1)"); conn.setRequestProperty ("tipe konten", "Aplikasi/X-WWW-Form-Urlencoded"); conn.connect (); // Dapatkan aliran output yang sesuai dengan objek URLConnection out = outputStreamWriter baru (conn.getoutputStream (), "UTF-8"); // Kirim parameter permintaan out.write (param); // buffered out.flush () dari aliran output flush; // Tentukan aliran input BufferedReader untuk membaca respons URL di = BufferedReader baru (inputStreamReader baru (conn.getInputStream ())); Garis string; while ((line = in.readline ())! = null) {result += line; }} catch (Exception e) {System.out.println ("Kirim posting ada pengecualian dalam permintaan!"+e); e.printstacktrace (); } // Gunakan akhirnya blok untuk menutup aliran output dan aliran input akhirnya {coba {if (out! = Null) {out.close (); } if (in! = null) {in.close (); }} catch (ioException ex) {ex.printstacktrace (); }} hasil pengembalian; } public static void main (string [] args) {// demo: agen akses string url = "http://api.adf.ly/api.php"; String PARA = "KEY = YOUKEYID & YOUUD = UID & ADVERT_TYPE = int & domain = adf.ly & url = http: //somewebsite.com"; String sr = httprequestutil.sendpost (url, paragrut, true); System.out.println (SR); }}Saya harap artikel ini akan membantu semua orang untuk mempelajari pemrograman Java.