`BasicHttpParams params = ``new` `BasicHttpParams();`
`// Set the timeout in milliseconds until a connection is established. `
`HttpConnectionParams.setConnectionTimeout(params, TIMEOUT_CONNECTION);`
`// Set the default socket timeout (SO_TIMEOUT) `
`// in milliseconds which is the timeout for waiting for data. `
`HttpConnectionParams.setSoTimeout(params, TIMEOUT_SOCKET); `
`ConnManagerParams.setMaxTotalConnections(params, ``5``);`
`ConnManagerParams.setTimeout(params, TIMEOUT_TOTAL);`
`client = ``new` `DefaultHttpClient(params);`
`CookieStore cookieStore = ``new` `BasicCookieStore();`
`//Bind custom cookie store to the local context`
`client.setCookieStore(cookieStore);`
`CookieSpecFactory csf = ``new` `CookieSpecFactory() { `
`public` `CookieSpec newInstance(HttpParams params) {`
` ``return` `new` `BrowserCompatSpec() {`
` ``@Override`
` ``public` `void` `validate(Cookie cookie, CookieOrigin origin) ``throws` `MalformedCookieException `
` ``{`
` ``// Oh, I am easy`
` ``// allow all cookies`
` ``//log.debug("custom validate");`
` ``}`
` ``};`
`}`
`};`
`client.getCookieSpecs().register(``"oschina"``, csf);`
`client.getParams().setParameter(ClientPNames.COOKIE_POLICY, ``"oschina"``);`
`client.getParams().setParameter(CookieSpecPNames.SINGLE_COOKIE_HEADER, ``true``);`
当然下面设置也可以,直接运行下就能看到结果。。
/**
* <span class="s1">@param</span> url
* :交互服务器的URL地址
* <span class="s1">@param</span> pairs
* :交互所带的参数
* <span class="s1">@return</span> JSONObject:从服务器获取的字符串
*/
<span class="s2">public</span> <span class="s2">static</span> String httpServicePostString(String url,
List<BasicNameValuePair> pairs, Context context) {
HttpPost httpPost = <span class="s2">new</span> HttpPost(url);
DefaultHttpClient httpClient = <span class="s2">new</span> DefaultHttpClient();
Log.d(<span class="s3">“cat”</span>,
<span class="s3">“out response=”</span> + httpPost.getURI() + <span class="s3">” “</span> + pairs.toString());
<span class="s2">try</span> {
httpPost.setEntity(<span class="s2">new</span> UrlEncodedFormEntity(pairs, HTTP.<span class="s4">UTF_8</span>));
} <span class="s2">catch</span> (UnsupportedEncodingException e) {
e.printStackTrace();
}
CookieStore cookieStore = <span class="s2">new</span> BasicCookieStore();
httpClient.setCookieStore(cookieStore);
<span class="s2">try</span> {
HttpResponse response = httpClient.execute(httpPost);
<span class="s2">if</span> (response.getStatusLine().getStatusCode() == HttpStatus.<span class="s4">SC_OK</span>) {
HttpEntity httpEntity = response.getEntity();
<span class="s2">if</span> (httpEntity != <span class="s2">null</span>) {
CookieStore c = httpClient.getCookieStore();
List<Cookie> list = c.getCookies();
<span class="s2">for</span> (Cookie cookie : list) {
Log.e(HttpService.<span class="s2">class</span>.getName(),
<span class="s3">“cookie=”</span> + cookie.getName());
Log.e(HttpService.<span class="s2">class</span>.getName(),
Log.e(HttpService.<span class="s2">class</span>.getName(),
SharedPreferencesUtils sharePrefenrences = <span class="s2">new</span> SharedPreferencesUtils();
sharePrefenrences.saveCookie(context, cookie.getValue());
}
Header[] headers = response.getAllHeaders();
<span class="s2">for</span> (Header header : headers) {
Log.e(HttpService.<span class="s2">class</span>.getName(),
<span class="s3">“head=”</span> + header.getName());
}
<span class="s2">if</span> (response.getFirstHeader(<span class="s3">“Set-Cookie”</span>) != <span class="s2">null</span>) {
String set_cookie = response.getFirstHeader(
<span class="s3">“Set-Cookie”</span>).getValue();
Log.e(HttpService.<span class="s2">class</span>.getName(), <span class="s3">“set_cookie=”</span>
+ set_cookie);
SharedPreferencesUtils sharePrefenrences = <span class="s2">new</span> SharedPreferencesUtils();
sharePrefenrences.saveCookie(context, set_cookie);
}
InputStream inputStream = httpEntity.getContent();
BufferedReader bufferReader = <span class="s2">new</span> BufferedReader(
<span class="s2">new</span> InputStreamReader(inputStream), <span class="s4">i</span>);
String returnStr = <span class="s3">“”</span>;
String readLine = <span class="s2">null</span>;
<span class="s2">while</span> ((readLine = bufferReader.readLine()) != <span class="s2">null</span>) {
returnStr = returnStr + readLine;
}
inputStream.close();
bufferReader.close();
Log.d(<span class="s3">“cat”</span>, <span class="s3">“returnStr=”</span> + returnStr);
<span class="s2">return</span> returnStr;
}
}
} <span class="s2">catch</span> (ClientProtocolException e) {
e.printStackTrace();
returnnull<span class="s5">;</span>
} <span class="s2">catch</span> (IOException e) {
e.printStackTrace();
returnnull<span class="s5">;</span>
}
returnnull<span class="s5">;</span>
}
💬 评论