SORU
27 Mart 2010, CUMARTESİ


Java URLConnection ayar kullanıcı Aracısı

Bir web sayfası URLConnection ile Java kullanarak ayrıştırmak için çalışıyorum. User-agent böyle ayarlamaya çalışıyorum

java.net.URLConnection c = url.openConnection();
c.setRequestProperty("User-Agent", "Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10.4; en-US; rv:1.9.2.2) Gecko/20100316 Firefox/3.6.2");

Ama sonuçta kullanıcı Aracısı benim belirttiğim "/1.5.0_19" sonuna eklenen. Java ile. Bir şekilde gerçekten bu ek olmadan kullanıcı aracı var mı?

CEVAP
22 Mart 2012, PERŞEMBE


Açıklama: setRequestProperty işleri iyi gidiyor! En azından Java 1.6.30.

Bunun sebebi kullandığımız(port dinleyici) ile benim makinede dinledim:

$ nc -l -p 8080

Sadece bağlantı noktasını dinler, http-headers çiğ gibi istenen alacak olan bir şey görüyorsunuz.

Ve şu var http-headers setRequestProperty olmadan:

GET /foobar HTTP/1.1
User-Agent: Java/1.6.0_30
Host: localhost:8080
Accept: text/html, image/gif, image/jpeg, *; q=.2, */*; q=.2
Connection: keep-alive

Ve setRequestProperty: İLE

GET /foobar HTTP/1.1
User-Agent: Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10.4; en-US; rv:1.9.2.2) Gecko/20100316 Firefox/3.6.2
Host: localhost:8080
Accept: text/html, image/gif, image/jpeg, *; q=.2, */*; q=.2
Connection: keep-alive

Gördüğünüz gibi kullanıcı Aracısı düzgün ayarlandı.

Tam örnek:

import java.io.IOException;
import java.net.URL;
import java.net.URLConnection;


public class TestUrlOpener {

    public static void main(String[] args) throws IOException {
        URL url = new URL("http://localhost:8080/foobar");
        URLConnection hc = url.openConnection();
        hc.setRequestProperty("User-Agent", "Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10.4; en-US; rv:1.9.2.2) Gecko/20100316 Firefox/3.6.2");

        System.out.println(hc.getContentType());
    }

}

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • ipsy Makeup Tips

    ipsy Makeup

    19 ŞUBAT 2009
  • PremiumBeat.com - Royalty Free Music

    PremiumBeat.

    16 Kasım 2008
  • theavettbrothers

    theavettbrot

    9 ŞUBAT 2007