1. 程式人生 > >httpurlconnection設定user-agent引數

httpurlconnection設定user-agent引數

URL myUrl = new URL(searchURL);
URLConnection myConn = (HttpURLConnection)myUrl.openConnection();
myConn.setRequestProperty("User-agent","Mozilla/4.0");
BufferedReader br = new BufferedReader(new InputStreamReader(myConn.getInputStream()));

myConn.setRequestProperty("User-agent","Baiduspider ( http://www.baidu.com/search/spider.htm)"
); myConn.setRequestProperty("User-agent","Mozilla/4.0"); HttpURLConnection.setFollowRedirects(true); httpConn.setRequestMethod("GET"); httpConn.setRequestProperty("User-Agent","Mozilla/4.0 (compatible; MSIE 6.0; Windows 2000)"); HttpRequest   request   =   new   HttpRequest("http://伺服器/1.jsp");     第一次使用的是GET方式     request.setMethod("GET");     緊接著進行一些請求的屬性設定     request.setRequestHeader("Cache-Control",   "no-cache");     這裡保持連線,因為後面還要傳送資料到伺服器呢     request.setRequestHeader("Connection",   "Keep-Alive");     下面是一些無關緊要的屬性設定了。     request.setRequestHeader("Accept",   "image/gif,   image/x-xbitmap,   image/jpeg,   image/pjpeg,   application/vnd.ms-excel,   application/vnd.ms-powerpoint,   application/msword,   */*");     request.setRequestHeader("Accept-Encoding",   "gzip,   deflate");     request.setRequestHeader("Accept-Language",   "en-au");     request.setRequestHeader("Referer",   "http://伺服器/1.jsp");     request.setRequestHeader("User-Agent",   "Mozilla/4.0   (compatible;   MSIE   6.0;   Windows   NT   5.1;   .NET   CLR   1.0.3215;   .NET   CLR   1.0.3705)");         構造好了連線請求,然後連線     request.connect();         緊接著提取Cookie值,在後文的post中可以用到。     String   strCookie   =   request.getResponseHeader("Set-Cookie");     strCookie   =   strCookie.substring(0,strCookie.indexOf(";"));         下面通過迴圈查詢,提取__VIEWSTATE的值     for   (   int   i   =   0;   i   <   nlist.getLength();   i++)   {       node   =   nlist.item(i);       strName   =   getNodeAttributeValue(node,"name");       if   (   strName.equals("__VIEWSTATE")   )   {         strValue   =   getNodeAttributeValue(node,"value");         break;       }     }         往伺服器組織傳送資料     DataOutputStream   dos   =   new   DataOutputStream(request.getOutputStream());     dos.writeBytes("-----------------------------"+strBoundary);//這是每個要被髮送資料間的間隔     dos.writeBytes("/r/nContent-Disposition:   form-data;   name=/"__VIEWSTATE/"");     dos.writeBytes("/r/n/r/n"+strValue);     dos.writeBytes("/r/n-----------------------------"+strBoundary);     這裡面是傳送檔案的部分     dos.writeBytes("/r/nContent-Disposition:   form-data;   name=/"uploadfile1/";   filename=/""   +   strFileName   +   "/"");     dos.writeBytes("/r/nContent-Type:   text/xml");     dos.writeBytes("/r/n/r/n");     dos.writeBytes(new   String(data));     dos.writeBytes("/r/n-----------------------------"+strBoundary);     dos.writeBytes("/r/nContent-Disposition:   form-data;   name=/"Button1/"");     dos.writeBytes("/r/n上傳");     dos.writeBytes("/r/n-----------------------------"+strBoundary+"--");     dos.writeBytes("/r/n");     dos.close();