Giriş
URLConnection sınıfı abstract bir sınıf. Genelde HttpURLConnection olarak kullanılıyor. GET, POST işlemlerini gerçekleştirebiliriz.
constructor
Şöyle yaparız.
Şöyle yaparız.
Bu metod alltaki socket bağlantısını açmaz. getInputStream, getContent(),getHeaderField() çağrılarından birisi gerçek bağlantıyı açar. Dolayısıyla bu metodu bence kullanmamak lazım. Şöyle yaparız.
Nesne ile işimiz bitince mutlaka çağrılmalıdır. Açıklaması şöyle.
Şöyle yaparız.
Şöyle yaparız.
Şöyle yaparız.
getHeaderFields metodu
Şöyle yaparız.
Okuma için kullanılır. Adres http ise GET veya POST isteği gönderir. Şöyle yaparız.
POST işleminde gönderilecek veriyi yazmak için kullanılır. Şöyle yaparız.
Şöyle yaparız.
Şöyle yaparız.
Şöyle yaparız.
GET ve POST işleminde gönderilen cevabı okumak için şöyle yaparız.
POST işleminde gönderilecek veriyi yazmak için kullanılır. Şöyle yaparız.
Bir connection var ve read() üzerinde bloke olduk. Belirtilen süre içinde okunacak veri gelmezse SocketTimeoutException fırlatılır
URLConnection sınıfı abstract bir sınıf. Genelde HttpURLConnection olarak kullanılıyor. GET, POST işlemlerini gerçekleştirebiliriz.
constructor
Şöyle yaparız.
URL url = new URL("http://...");
URLConnection urlc = url.openConnection();
addRequestProperty metoduŞöyle yaparız.
urlc.addRequestProperty("Content-length", "500");
connect metoduBu metod alltaki socket bağlantısını açmaz. getInputStream, getContent(),getHeaderField() çağrılarından birisi gerçek bağlantıyı açar. Dolayısıyla bu metodu bence kullanmamak lazım. Şöyle yaparız.
urlc.connect();
disconnect metoduNesne ile işimiz bitince mutlaka çağrılmalıdır. Açıklaması şöyle.
Şöyle yaparız.Disconnect. Once the response body has been read, the HttpURLConnection should be closed by calling disconnect(). Disconnecting releases the resources held by a connection so they may be closed or reused.
urlc.disconnect();
followRedirects metoduŞöyle yaparız.
HttpURLConnection.setFollowRedirects(false);
getContentLength metoduŞöyle yaparız.
urlc.getContentLength(); // -> calls getHeaderField("content-length")
getHeaderField metoduŞöyle yaparız.
//get header by 'key'
String server = urlc.getHeaderField ("Server");
Şöyle yaparız.
//get all headers
Map<String, List<String>> map = urlc.getHeaderFields ();
for (Map.Entry<String, List<String>> entry : map.entrySet()) {
System.out.println("Key : " + entry.getKey() +
" ,Value : " + entry.getValue());
}
getInputStream metoduOkuma için kullanılır. Adres http ise GET veya POST isteği gönderir. Şöyle yaparız.
try (InputStream is = urlc.getInputStream()) { ...
}
Bağlantı açıldıktan sonra URL şöyle indirilir.ReadableByteChannel rbc = Channels.newChannel(urlc.getInputStream());
FileOutputStream fos = new FileOutputStream(file);
fos.getChannel().transferFrom(rbc, 0, Long.MAX_VALUE);
fos.close();
getOutputStream metoduPOST işleminde gönderilecek veriyi yazmak için kullanılır. Şöyle yaparız.
OutputStream out = urlc.getOutputStream();
BufferedWriter writer = new BufferedWriter(new OutputStreamWriter(out));
writer.print(postData);
witer.close();
getResponseCode metoduŞöyle yaparız.
if (urlc.getResponseCode () == HttpURLConnection.HTTP_OK);
Şöyle yaparız.if (urlc.getResponseCode () == 200) {...}
setChunkedStreamMode metoduŞöyle yaparız.
urlc.setChunkedStreamingMode (0);
setConnectTimeout metodu
Şöyle yaparız.
urlc.setConnectTimeout (5000);
setDoInput metoduGET ve POST işleminde gönderilen cevabı okumak için şöyle yaparız.
urlc.setDoInput (true);
setDoOutput metoduPOST işleminde gönderilecek veriyi yazmak için kullanılır. Şöyle yaparız.
urlc.setDoOutput (true);
setReadTimeout metoduBir connection var ve read() üzerinde bloke olduk. Belirtilen süre içinde okunacak veri gelmezse SocketTimeoutException fırlatılır
Şöyle yaparız.
urlc.setReadTimeout (
5_000);
setRequestMethod metoduŞöyle yaparız.
urlc.setRequestMethod ("HEAD");
Şöyle yaparız.urlc.setRequestMethod ("POST");
setRequestProperty metoduForm göndermek için Şöyle yaparız.
urlc.setRequestProperty ("Content-Type", "application/x-www-form-urlencoded");
Json göndermek için şöyle yaparız.urlc.setRequestProperty ("Content-Type", "application/json");
Eğer Json utf-8 ise şöyle yaparız.urlc.setRequestProperty ("Content-Type", "application/json;charset=utf-8");
Ajax çağrısı yapmak için şöyle yaparız.urlc.setRequestProperty ("X-Requested-With", "XMLHttpRequest");
Bağlantı kapanmasın diye şöyle yaparız.urlc.setRequestProperty ("Connection", "Keep-Alive");
setUseCaches metoduŞöyle yaparız.
urlc.setUseCaches (false);
Hiç yorum yok:
Yorum Gönder