1

如果我将此代码用于特定的 url,那么它可以工作,但是如果我更改完全相同类型的 url,那么是否有必要更改getRequest.setHeader("User-Agent", "xxxx") (other than xxxx)或者它不会导致任何问题?

DefaultHttpClient client = new DefaultHttpClient();
String getUrl = "http://myurl.com";

HttpUriRequest getRequest = new HttpGet(getUrl);

getRequest.setHeader("User-Agent",  "xxxx");

 HttpResponse response = client.execute(getRequest);
 int statusCode = response.getStatusLine().getStatusCode();

 log.info("statusCode=" + statusCode);

Document doc = null;
        if (statusCode == 200 ){
            HttpEntity entity = response.getEntity();
            //String content = EntityUtils.toString(entity);

            DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
            try {
                DocumentBuilder builder = factory.newDocumentBuilder();
                doc = builder.parse(entity.getContent());
            } catch (ParserConfigurationException e) {              
                e.printStackTrace();
            } catch (IllegalStateException e) {
                e.printStackTrace();
            } catch (SAXException e) {
                e.printStackTrace();
            }                           
        }
4

1 回答 1

0

User-Agent头标识了您对服务器的方法。这就像说嘿,顺便说一句,我正在使用这个程序向你发送这个请求!. 例如,Firefox、Chrome 和 Safari 都有自己可识别User-Agents的 .

它很少与您正在进行的其余对话有关。您无需更改它,也不必首先设置它,除非您有非常具体的理由。

快乐编码!

于 2013-02-05T07:19:38.993 回答