List of usage examples for org.apache.http.client.methods HttpHead HttpHead
public HttpHead(final String uri)
From source file:org.dawnsci.marketplace.ui.editors.OverviewPage.java
private String getCsrfToken(CloseableHttpClient client) throws ClientProtocolException, IOException { String url = getMarketplaceUrl(); HttpHead head = new HttpHead(url + "token"); head.addHeader(X_CSRF_TOKEN, "fetch"); CloseableHttpResponse response = client.execute(head); EntityUtils.consume(response.getEntity()); String token = null;/*from ww w . j av a 2s. c o m*/ Header[] headers = response.getHeaders(X_CSRF_TOKEN); for (Header header : headers) { token = header.getValue(); } return token; }
From source file:com.ecocitizen.common.HttpHelper.java
private boolean sendHttpHead(String url) { if (D)/*from w w w. ja v a 2 s . c om*/ Log.d(TAG, url); HttpClient client = new DefaultHttpClient(); HttpHead request = new HttpHead(url); request.setHeader("User-Agent", HTTP_USER_AGENT); try { HttpResponse response = client.execute(request); StatusLine status = response.getStatusLine(); if (status.getStatusCode() == HTTP_STATUS_OK) { mLastStatus = Status.SUCCESS; return true; } } catch (ClientProtocolException e) { mLastStatus = Status.EXCEPTION; e.printStackTrace(); Log.e(TAG, "Exception in sendHttpHead"); } catch (IOException e) { mLastStatus = Status.EXCEPTION; e.printStackTrace(); Log.e(TAG, "Exception in sendHttpHead"); } return false; }
From source file:org.apache.marmotta.platform.core.services.content.HTTPContentReader.java
/** * Return the MIME content type of the resource passed as argument. * * @param resource resource for which to return the content type * @return the MIME content type of the resource *//*ww w .ja v a 2 s . c o m*/ @Override public String getContentType(Resource resource) { try { RepositoryConnection conn = sesameService.getConnection(); try { MediaContentItem mci = FacadingFactory.createFacading(conn).createFacade(resource, MediaContentItem.class); String location = mci.getContentLocation(); // if no location is explicitly specified, use the resource URI itself if (location == null && resource instanceof URI && resource.stringValue().startsWith("http://")) { location = resource.stringValue(); } try { if (location != null) { log.info("reading remote resource {}", location); HttpHead head = new HttpHead(location); return httpClientService.execute(head, new ResponseHandler<String>() { @Override public String handleResponse(HttpResponse response) throws ClientProtocolException, IOException { if (response.getStatusLine().getStatusCode() == 200) return response.getFirstHeader("Content-Type").getValue().split(";")[0]; else return null; } }); } else return null; } catch (IOException ex) { return null; } } finally { conn.commit(); conn.close(); } } catch (RepositoryException ex) { handleRepositoryException(ex, FileSystemContentReader.class); return null; } }
From source file:imageLines.ImageHelpers.java
public static Boolean checkImageHeader(String imageURLString, String uname, String pass) throws ClientProtocolException { /*// w w w. j a v a 2 s . c o m URLConnection conn=imageURL.openConnection(); String userPassword=user+":"+ pass; String encoding = new sun.misc.BASE64Encoder().encode (userPassword.getBytes()); conn.setRequestProperty ("Authorization", "Basic " + encoding);*/ DefaultHttpClient httpclient = new DefaultHttpClient(); ResponseHandler<String> responseHandler = new BasicResponseHandler(); httpclient.getCredentialsProvider().setCredentials(new AuthScope(AuthScope.ANY), new UsernamePasswordCredentials(uname, pass)); HttpHead head = new HttpHead(imageURLString); //HttpGet httpget = new HttpGet(imageURLString); System.out.println("executing head request" + head.getRequestLine()); HttpResponse response; try { response = httpclient.execute(head); int code = response.getStatusLine().getStatusCode(); if (code == 200 || code == 304) return true; } catch (IOException ex) { Logger.getLogger(ImageHelpers.class.getName()).log(Level.SEVERE, null, ex); } return false; }
From source file:com.google.acre.script.AcreFetch.java
@SuppressWarnings("boxing") public void fetch(boolean system, String response_encoding, boolean log_to_user, boolean no_redirect) { if (request_url.length() > 2047) { throw new AcreURLFetchException("fetching URL failed - url is too long"); }//from w w w .ja v a 2s . c o m DefaultHttpClient client = new DefaultHttpClient(_connectionManager, null); HttpParams params = client.getParams(); // pass the deadline down to the invoked service. // this will be ignored unless we are fetching from another // acre server. // note that we may send a deadline that is already passed: // it's not our job to throw here since we don't know how // the target service will interpret the quota header. // NOTE: this is done *after* the user sets the headers to overwrite // whatever settings they might have tried to change for this value // (which could be a security hazard) long sub_deadline = (HostEnv.LIMIT_EXECUTION_TIME) ? _deadline - HostEnv.SUBREQUEST_DEADLINE_ADVANCE : System.currentTimeMillis() + HostEnv.ACRE_URLFETCH_TIMEOUT; int reentries = _reentries + 1; request_headers.put(HostEnv.ACRE_QUOTAS_HEADER, "td=" + sub_deadline + ",r=" + reentries); // if this is not an internal call, we need to invoke the call thru a proxy if (!_internal) { // XXX No sense wasting the resources to gzip inside the network. // XXX seems that twitter gets upset when we do this /* if (!request_headers.containsKey("accept-encoding")) { request_headers.put("accept-encoding", "gzip"); } */ String proxy_host = Configuration.Values.HTTP_PROXY_HOST.getValue(); int proxy_port = -1; if (!(proxy_host.length() == 0)) { proxy_port = Configuration.Values.HTTP_PROXY_PORT.getInteger(); HttpHost proxy = new HttpHost(proxy_host, proxy_port, "http"); params.setParameter(AllClientPNames.DEFAULT_PROXY, proxy); } } params.setParameter(AllClientPNames.COOKIE_POLICY, CookiePolicy.BROWSER_COMPATIBILITY); // in msec long timeout = _deadline - System.currentTimeMillis(); if (timeout < 0) timeout = 0; params.setParameter(AllClientPNames.CONNECTION_TIMEOUT, (int) timeout); params.setParameter(AllClientPNames.SO_TIMEOUT, (int) timeout); // we're not streaming the request so this should be a win. params.setParameter(AllClientPNames.TCP_NODELAY, true); // reuse an existing socket if it is in TIME_WAIT state. params.setParameter(AllClientPNames.SO_REUSEADDR, true); // set the encoding of our POST payloads to UTF-8 params.setParameter(AllClientPNames.HTTP_CONTENT_CHARSET, "UTF-8"); BasicCookieStore cstore = new BasicCookieStore(); for (AcreCookie cookie : request_cookies.values()) { cstore.addCookie(cookie.toClientCookie()); } client.setCookieStore(cstore); HttpRequestBase method; HashMap<String, String> logmsg = new HashMap<String, String>(); logmsg.put("Method", request_method); logmsg.put("URL", request_url); params.setParameter(AllClientPNames.HANDLE_REDIRECTS, !no_redirect); logmsg.put("Redirect", Boolean.toString(!no_redirect)); try { if (request_method.equals("GET")) { method = new HttpGet(request_url); } else if (request_method.equals("POST")) { method = new HttpPost(request_url); } else if (request_method.equals("HEAD")) { method = new HttpHead(request_url); } else if (request_method.equals("PUT")) { method = new HttpPut(request_url); } else if (request_method.equals("DELETE")) { method = new HttpDelete(request_url); } else if (request_method.equals("PROPFIND")) { method = new HttpPropFind(request_url); } else { throw new AcreURLFetchException("Failed: unsupported (so far) method " + request_method); } method.getParams().setBooleanParameter(AllClientPNames.USE_EXPECT_CONTINUE, false); } catch (java.lang.IllegalArgumentException e) { throw new AcreURLFetchException("Unable to fetch URL; this is most likely an issue with URL encoding."); } catch (java.lang.IllegalStateException e) { throw new AcreURLFetchException("Unable to fetch URL; possibly an illegal protocol?"); } StringBuilder request_header_log = new StringBuilder(); for (Map.Entry<String, String> header : request_headers.entrySet()) { String key = header.getKey(); String value = header.getValue(); // XXX should suppress cookie headers? // content-type and length? if ("content-type".equalsIgnoreCase(key)) { Matcher m = contentTypeCharsetPattern.matcher(value); if (m.find()) { content_type = m.group(1); content_type_charset = m.group(2); } else { content_type_charset = "utf-8"; } method.addHeader(key, value); } else if ("content-length".equalsIgnoreCase(key)) { // ignore user-supplied content-length, which is // probably wrong due to chars vs bytes and is // redundant anyway ArrayList<String> msg = new ArrayList<String>(); msg.add("User-supplied content-length header is ignored"); _acre_response.log("warn", msg); } else if ("user-agent".equalsIgnoreCase(key)) { params.setParameter(AllClientPNames.USER_AGENT, value); } else { method.addHeader(key, value); } if (!("x-acre-auth".equalsIgnoreCase(key))) { request_header_log.append(key + ": " + value + "\r\n"); } } logmsg.put("Headers", request_header_log.toString()); // XXX need more detailed error checking if (method instanceof HttpEntityEnclosingRequestBase && request_body != null) { HttpEntityEnclosingRequestBase em = (HttpEntityEnclosingRequestBase) method; try { if (request_body instanceof String) { StringEntity ent = new StringEntity((String) request_body, content_type_charset); em.setEntity(ent); } else if (request_body instanceof JSBinary) { ByteArrayEntity ent = new ByteArrayEntity(((JSBinary) request_body).get_data()); em.setEntity(ent); } } catch (UnsupportedEncodingException e) { throw new AcreURLFetchException( "Failed to fetch URL. " + " - Unsupported charset: " + content_type_charset); } } if (!system && log_to_user) { ArrayList<Object> msg = new ArrayList<Object>(); msg.add("urlfetch request"); msg.add(logmsg); _acre_response.log("debug", msg); } _logger.info("urlfetch.request", logmsg); long startTime = System.currentTimeMillis(); try { // this sends the http request and waits HttpResponse hres = client.execute(method); status = hres.getStatusLine().getStatusCode(); HashMap<String, String> res_logmsg = new HashMap<String, String>(); res_logmsg.put("URL", request_url); res_logmsg.put("Status", ((Integer) status).toString()); Header content_type_header = null; // translate response headers StringBuilder response_header_log = new StringBuilder(); Header[] rawheaders = hres.getAllHeaders(); for (Header rawheader : rawheaders) { String headername = rawheader.getName().toLowerCase(); if (headername.equalsIgnoreCase("content-type")) { content_type_header = rawheader; // XXX should strip everything after ; content_type = rawheader.getValue(); // XXX don't set content_type_parameters, deprecated? } else if (headername.equalsIgnoreCase("x-metaweb-cost")) { _costCollector.merge(rawheader.getValue()); } else if (headername.equalsIgnoreCase("x-metaweb-tid")) { res_logmsg.put("ITID", rawheader.getValue()); } headers.put(headername, rawheader.getValue()); response_header_log.append(headername + ": " + rawheader.getValue() + "\r\n"); } res_logmsg.put("Headers", response_header_log.toString()); if (!system && log_to_user) { ArrayList<Object> msg = new ArrayList<Object>(); msg.add("urlfetch response"); msg.add(res_logmsg); _acre_response.log("debug", msg); } _logger.info("urlfetch.response", res_logmsg); // read cookies for (Cookie c : cstore.getCookies()) { cookies.put(c.getName(), new AcreCookie(c)); } // get body encoding String charset = null; if (content_type_header != null) { HeaderElement values[] = content_type_header.getElements(); if (values.length == 1) { NameValuePair param = values[0].getParameterByName("charset"); if (param != null) { charset = param.getValue(); } } } if (charset == null) charset = response_encoding; // read body HttpEntity ent = hres.getEntity(); if (ent != null) { InputStream res_stream = ent.getContent(); Header cenc = ent.getContentEncoding(); if (cenc != null && res_stream != null) { HeaderElement[] codecs = cenc.getElements(); for (HeaderElement codec : codecs) { if (codec.getName().equalsIgnoreCase("gzip")) { res_stream = new GZIPInputStream(res_stream); } } } long firstByteTime = 0; long endTime = 0; if (content_type != null && (content_type.startsWith("image/") || content_type.startsWith("application/octet-stream") || content_type.startsWith("multipart/form-data"))) { // HttpClient's InputStream doesn't support mark/reset, so // wrap it with one that does. BufferedInputStream bufis = new BufferedInputStream(res_stream); bufis.mark(2); bufis.read(); firstByteTime = System.currentTimeMillis(); bufis.reset(); byte[] data = IOUtils.toByteArray(bufis); endTime = System.currentTimeMillis(); body = new JSBinary(); ((JSBinary) body).set_data(data); try { if (res_stream != null) { res_stream.close(); } } catch (IOException e) { // ignore } } else if (res_stream == null || charset == null) { firstByteTime = endTime = System.currentTimeMillis(); body = ""; } else { StringWriter writer = new StringWriter(); Reader reader = new InputStreamReader(res_stream, charset); int i = reader.read(); firstByteTime = System.currentTimeMillis(); writer.write(i); IOUtils.copy(reader, writer); endTime = System.currentTimeMillis(); body = writer.toString(); try { reader.close(); writer.close(); } catch (IOException e) { // ignore } } long waitingTime = firstByteTime - startTime; long readingTime = endTime - firstByteTime; _logger.debug("urlfetch.timings", "waiting time: " + waitingTime + "ms"); _logger.debug("urlfetch.timings", "reading time: " + readingTime + "ms"); Statistics.instance().collectUrlfetchTime(startTime, firstByteTime, endTime); _costCollector.collect((system) ? "asuc" : "auuc").collect((system) ? "asuw" : "auuw", waitingTime) .collect((system) ? "asub" : "auub", waitingTime); } } catch (IllegalArgumentException e) { Throwable cause = e.getCause(); if (cause == null) cause = e; throw new AcreURLFetchException("failed to fetch URL. " + " - Request Error: " + cause.getMessage()); } catch (IOException e) { Throwable cause = e.getCause(); if (cause == null) cause = e; throw new AcreURLFetchException("Failed to fetch URL. " + " - Network Error: " + cause.getMessage()); } catch (RuntimeException e) { Throwable cause = e.getCause(); if (cause == null) cause = e; throw new AcreURLFetchException("Failed to fetch URL. " + " - Network Error: " + cause.getMessage()); } finally { method.abort(); } }
From source file:com.falcon.orca.actors.Generator.java
private HttpUriRequest prepareRequest() throws URISyntaxException, JsonProcessingException { HttpUriRequest request;/*from ww w . j a v a 2 s .com*/ switch (method) { case POST: { String postUrl = isUrlDynamic ? dataStore.fillURLWithData() : url; AbstractHttpEntity postData; try { postData = isBodyDynamic ? new StringEntity(dataStore.fillTemplateWithData(), StandardCharsets.UTF_8) : new ByteArrayEntity(staticRequestData == null ? new byte[0] : staticRequestData); } catch (IllegalArgumentException ile) { postData = new ByteArrayEntity(new byte[0]); log.error("Post body is null, sending blank."); } request = new HttpPost(postUrl); ((HttpPost) request).setEntity(postData); break; } case GET: { String getUrl = isUrlDynamic ? dataStore.fillURLWithData() : url; request = new HttpGet(getUrl); break; } case PUT: { String putUrl = isUrlDynamic ? dataStore.fillURLWithData() : url; AbstractHttpEntity putData; try { putData = isBodyDynamic ? new StringEntity(dataStore.fillTemplateWithData(), StandardCharsets.UTF_8) : new ByteArrayEntity(staticRequestData == null ? new byte[0] : staticRequestData); } catch (IllegalArgumentException ile) { putData = new ByteArrayEntity(new byte[0]); log.error("Post body is null, sending blank."); } request = new HttpPut(putUrl); ((HttpPut) request).setEntity(putData); break; } case DELETE: { String deleteUrl = isUrlDynamic ? dataStore.fillURLWithData() : url; request = new HttpDelete(deleteUrl); break; } case OPTIONS: { String optionsUrl = isUrlDynamic ? dataStore.fillURLWithData() : url; request = new HttpOptions(optionsUrl); break; } case HEAD: { String headUrl = isUrlDynamic ? dataStore.fillURLWithData() : url; request = new HttpHead(headUrl); break; } default: throw new URISyntaxException(url + ":" + method, "Wrong method supplied, available methods are POST, " + "GET, PUT, DELETE, HEAD, OPTIONS"); } if (headers != null) { headers.forEach(request::addHeader); } return request; }
From source file:edu.isi.misd.tagfiler.client.JakartaClient.java
/** * Verify that we have a valid control number * /*from w w w . j a va 2 s . c o m*/ * @param url * the query url * @param cookie * the cookie to be set in the request * @return the HTTP Response */ public ClientURLResponse verifyValidControlNumber(String url, String cookie) { HttpHead httphead = new HttpHead(url); httphead.setHeader("Accept", "text/uri-list"); httphead.setHeader("Content-Type", "application/octet-stream"); return execute(httphead, cookie); }
From source file:com.hoccer.tools.HttpHelper.java
public static String getLocationHeader(String url) throws IOException, HttpClientException, HttpServerException { HttpHead head = new HttpHead(url); HttpResponse response = executeHTTPMethod(head); if (!response.containsHeader("Location")) { throw new RuntimeException("Could not retrieve location header."); }/*from ww w . j a va 2 s. c o m*/ Header locationHeader = response.getFirstHeader("Location"); return locationHeader.getValue(); }
From source file:org.orbeon.oxf.resources.handler.HTTPURLConnection.java
public void setRequestMethod(String methodName) throws ProtocolException { if (connected) throw new ProtocolException("Can't reset method: already connected"); if ("GET".equals(methodName)) method = new HttpGet(url.toString()); else if ("POST".equals(methodName)) method = new HttpPost(url.toString()); else if ("HEAD".equals(methodName)) method = new HttpHead(url.toString()); else if ("OPTIONS".equals(methodName)) method = new HttpOptions(url.toString()); else if ("PUT".equals(methodName)) method = new HttpPut(url.toString()); else if ("DELETE".equals(methodName)) method = new HttpDelete(url.toString()); else if ("TRACE".equals(methodName)) method = new HttpTrace(url.toString()); else// w w w. java 2s .c o m throw new ProtocolException("Method " + methodName + " not supported"); }
From source file:org.eclipse.jgit.transport.http.apache.HttpClientConnection.java
public void setRequestMethod(String method) throws ProtocolException { this.method = method; if (METHOD_GET.equalsIgnoreCase(method)) { req = new HttpGet(url.toString()); } else if (METHOD_HEAD.equalsIgnoreCase(method)) { req = new HttpHead(url.toString()); } else if (METHOD_PUT.equalsIgnoreCase(method)) { req = new HttpPut(url.toString()); } else if (METHOD_POST.equalsIgnoreCase(method)) { req = new HttpPost(url.toString()); } else {/* w w w.j a va 2 s . c om*/ this.method = null; throw new UnsupportedOperationException(); } }