HttpClient 對 cookie 的處理
public static void main(String[] args) { HttpClient client = new HttpClient(); NameValuePair[] nameValuePairs = { new NameValuePair("username", "aaa"), new NameValuePair("passwd", "123456") }; PostMethod postMethod = new PostMethod("登錄url"); postMethod.setRequestBody(nameValuePairs); int stats = 0; try { stats = client.executeMethod(postMethod); } catch (HttpException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } postMethod.releaseConnection();//這里最好把之前的資源放掉 CookieSpec cookiespec = CookiePolicy.getDefaultSpec(); Cookie[] cookies = cookiespec.match("域名", 80/端口/, "/" , false , client.getState().getCookies()); for (Cookie cookie : cookies) { System.out.println(cookie.getName() + "##" + cookie.getValue()); }HttpMethod method = null; String encode = "utf-8";//頁面編碼,按訪問頁面改動 String referer = "http://域名";//http://www.163.com method = new GetMethod("url2");//后續操作 method.getParams().setParameter("http.useragent","Mozilla/4.0 (compatible; MSIE 5.5; Windows 98)"); method.setRequestHeader("Referer", referer); client.getParams().setContentCharset(encode); client.getParams().setSoTimeout(300000); client.getParams().setParameter(HttpMethodParams.RETRY_HANDLER, new DefaultHttpMethodRetryHandler(10, true)); try { stats = client.executeMethod(method); } catch (HttpException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } if (stats == HttpStatus.SC_OK) { System.out.println("提交成功!"); } }</pre>
本文由用戶 gwxd 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!