What is the proper way of setting headers in a URLConnection?

前端 未结 3 824
粉色の甜心
粉色の甜心 2020-12-10 01:32

My code is like the following:

URLConnection cnx = address.openConnection();
cnx.setAllowUserInteraction(false);         
cnx.setDoOutput(true);
cnx.addReque         


        
相关标签:
3条回答
  • 2020-12-10 02:08

    I'd advise against using low-level constructs such as URLConnection. There are plenty of libraries for sending HTTP requests, with the most prominent being Apache HTTP Client.

    0 讨论(0)
  • 2020-12-10 02:20

    The headers must be set prior to getting the InputStream to have any affect - an IllegalStateException will be thrown if the connection is already open.

    As far as the User-Agent header specifically, it should be sent if it has been set.

    See the URLConnection JavaDoc.

    0 讨论(0)
  • 2020-12-10 02:33

    To answer the question, the code is correct. The moment getInputStream(), an HTTP get is sent to the target server.

    A side-note on user-agent, if you don't set it, URLConnection will send the default one anyway, which is:

    User-Agent: Java/1.6.0_24 (varies depending on your java version)
    
    0 讨论(0)
提交回复
热议问题