List of usage examples for org.apache.http.client.methods RequestBuilder getUri
public URI getUri()
From source file:com.wudaosoft.net.httpclient.ParameterRequestBuilder.java
public static HttpUriRequest build(RequestBuilder builder) { final HttpRequestBase result; URI uriNotNull = builder.getUri() != null ? builder.getUri() : URI.create("/"); Charset charset = builder.getCharset(); charset = charset != null ? charset : HTTP.DEF_CONTENT_CHARSET; String method = builder.getMethod(); List<NameValuePair> parameters = builder.getParameters(); HttpEntity entityCopy = builder.getEntity(); if (parameters != null && !parameters.isEmpty()) { if (entityCopy == null && (HttpPost.METHOD_NAME.equalsIgnoreCase(method) || HttpPut.METHOD_NAME.equalsIgnoreCase(method) || HttpPatch.METHOD_NAME.equalsIgnoreCase(method))) { entityCopy = new UrlEncodedFormEntity(parameters, charset); } else {/*from w w w .jav a2 s . com*/ try { uriNotNull = new URIBuilder(uriNotNull).setCharset(charset).addParameters(parameters).build(); } catch (final URISyntaxException ex) { // should never happen } } } if (entityCopy == null) { result = new InternalRequest(method); } else { final InternalEntityEclosingRequest request = new InternalEntityEclosingRequest(method); request.setEntity(entityCopy); result = request; } result.setProtocolVersion(builder.getVersion()); result.setURI(uriNotNull); // if (builder.headergroup != null) { // result.setHeaders(builder.headergroup.getAllHeaders()); // } result.setConfig(builder.getConfig()); return result; }
From source file:com.nexmo.client.voice.endpoints.ReadCallMethodTest.java
@Test public void makeRequest() throws Exception { RequestBuilder request = method.makeRequest("abcd-efgh"); assertEquals("https://api.nexmo.com/v1/calls/abcd-efgh", request.getUri().toString()); }
From source file:com.nexmo.client.voice.endpoints.ListCallsMethodTest.java
@Test public void makeRequestWithNoFilter() throws Exception { RequestBuilder request = method.makeRequest(null); assertEquals("GET", request.getMethod()); assertEquals("https://api.nexmo.com/v1/calls", request.getUri().toString()); }
From source file:com.nexmo.client.voice.endpoints.ListCallsMethodTest.java
@Test public void makeRequestWithFilter() throws Exception { CallsFilter callsFilter = new CallsFilter(); callsFilter.setPageSize(3);/*from w w w. java 2 s . c om*/ RequestBuilder request = method.makeRequest(callsFilter); assertEquals("GET", request.getMethod()); assertEquals("https://api.nexmo.com/v1/calls?page_size=3", request.getUri().toString()); }
From source file:com.nexmo.client.voice.endpoints.CreateCallMethodTest.java
@Test public void testCustomUri() throws Exception { CreateCallMethod methodUnderTest = new CreateCallMethod(null); methodUnderTest.setUri("https://api.example.com/calls"); RequestBuilder request = methodUnderTest .makeRequest(new Call("447700900903", "447700900904", "https://example.com/answer")); assertEquals("https://api.example.com/calls", request.getUri().toString()); }
From source file:com.nexmo.client.voice.endpoints.ListCallsMethodTest.java
@Test public void testBadUriThrowsException() throws Exception { method.setUri(":this::///isnota_uri"); assertEquals(":this::///isnota_uri", method.getUri()); try {/* w w w . ja v a2 s .c o m*/ CallsFilter filter = new CallsFilter(); filter.setPageSize(30); RequestBuilder request = method.makeRequest(filter); // Anything past here only executes if our assertion is incorrect: LOG.error("Request URI: " + request.getUri()); fail("Making a request with a bad URI should throw a NexmoUnexpectedException"); } catch (NexmoUnexpectedException nue) { // This is expected } }
From source file:com.searchbox.collection.oppfin.IdealISTCollection.java
private Document httpGet(RequestBuilder builder) { HttpClient client = HttpClientBuilder.create().build(); HttpUriRequest request = builder// w w w. j a v a 2s. c o m .addHeader("User-Agent", env.getProperty(CRAWLER_USER_AGENT, CRAWLER_USER_AGENT_DEFAULT)).build(); try { HttpResponse httpResponse = client.execute(request); InputStream ips = httpResponse.getEntity().getContent(); BufferedReader buf = new BufferedReader(new InputStreamReader(ips, "UTF-8")); if (httpResponse.getStatusLine().getStatusCode() != HttpStatus.SC_OK) { LOGGER.error("could read response ({}) for url: {}", httpResponse.getStatusLine().getReasonPhrase(), builder.getUri()); } StringBuilder sb = new StringBuilder(); String s; while (true) { s = buf.readLine(); if (s == null || s.length() == 0) break; sb.append(s); } buf.close(); ips.close(); return buildXMLDocument(sb.toString()); } catch (Exception e) { LOGGER.error("Could not get XML from {}", builder.getUri(), e); } return null; }
From source file:cn.wanghaomiao.seimi.core.SeimiProcessor.java
@Override public void run() { while (true) { Request request = null;// w w w. j ava 2s .c o m try { request = queue.bPop(crawlerModel.getCrawlerName()); if (request == null) { continue; } if (crawlerModel == null) { logger.error("No such crawler name:'{}'", request.getCrawlerName()); continue; } if (request.isStop()) { logger.info("SeimiProcessor[{}] will stop!", Thread.currentThread().getName()); break; } // if (!StructValidator.validateAnno(request)) { logger.warn("Request={} is illegal", JSON.toJSONString(request)); continue; } if (!StructValidator.validateAllowRules(crawler.allowRules(), request.getUrl())) { logger.warn("Request={} will be dropped by allowRules=[{}]", JSON.toJSONString(request), StringUtils.join(crawler.allowRules(), ",")); continue; } if (StructValidator.validateDenyRules(crawler.denyRules(), request.getUrl())) { logger.warn("Request={} will be dropped by denyRules=[{}]", JSON.toJSONString(request), StringUtils.join(crawler.denyRules(), ",")); continue; } //???Request??? if (request.getCurrentReqCount() >= request.getMaxReqCount()) { continue; } if (!request.isSkipDuplicateFilter() && crawlerModel.isUseUnrepeated() && queue.isProcessed(request) && request.getCurrentReqCount() == 0) { logger.info("This request has bean processed,so current request={} will be dropped!", JSON.toJSONString(request)); continue; } queue.addProcessed(request); HttpClient hc; if (crawlerModel.isUseCookie()) { hc = HttpClientFactory.getHttpClient(10000, crawler.getCookieStore()); } else { hc = HttpClientFactory.getHttpClient(); } RequestBuilder requestBuilder = RequestGenerator.getHttpRequestBuilder(request, crawlerModel); HttpContext httpContext = new BasicHttpContext(); HttpResponse httpResponse = hc.execute(requestBuilder.build(), httpContext); Response seimiResponse = renderResponse(httpResponse, request, httpContext); Matcher mm = metaRefresh.matcher(seimiResponse.getContent()); int refreshCount = 0; while (!request.isUseSeimiAgent() && mm.find() && refreshCount < 3) { String nextUrl = mm.group(1).replaceAll("'", ""); if (!nextUrl.startsWith("http")) { String prefix = getRealUrl(httpContext); nextUrl = prefix + nextUrl; } logger.info("Seimi refresh url to={} from={}", nextUrl, requestBuilder.getUri()); requestBuilder.setUri(nextUrl); httpResponse = hc.execute(requestBuilder.build(), httpContext); seimiResponse = renderResponse(httpResponse, request, httpContext); mm = metaRefresh.matcher(seimiResponse.getContent()); refreshCount += 1; } Method requestCallback = crawlerModel.getMemberMethods().get(request.getCallBack()); if (requestCallback == null) { continue; } for (SeimiInterceptor interceptor : interceptors) { Interceptor interAnno = interceptor.getClass().getAnnotation(Interceptor.class); if (interAnno.everyMethod() || requestCallback.isAnnotationPresent(interceptor.getTargetAnnotationClass()) || crawlerModel.getClazz() .isAnnotationPresent(interceptor.getTargetAnnotationClass())) { interceptor.before(requestCallback, seimiResponse); } } if (crawlerModel.getDelay() > 0) { TimeUnit.SECONDS.sleep(crawlerModel.getDelay()); } requestCallback.invoke(crawlerModel.getInstance(), seimiResponse); for (SeimiInterceptor interceptor : interceptors) { Interceptor interAnno = interceptor.getClass().getAnnotation(Interceptor.class); if (interAnno.everyMethod() || requestCallback.isAnnotationPresent(interceptor.getTargetAnnotationClass()) || crawlerModel.getClazz() .isAnnotationPresent(interceptor.getTargetAnnotationClass())) { interceptor.after(requestCallback, seimiResponse); } } logger.debug("Crawler[{}] ,url={} ,responseStatus={}", crawlerModel.getCrawlerName(), request.getUrl(), httpResponse.getStatusLine().getStatusCode()); } catch (Exception e) { logger.error(e.getMessage(), e); if (request == null) { continue; } if (request.getCurrentReqCount() < request.getMaxReqCount()) { request.incrReqCount(); queue.push(request); logger.info( "Request process error,req will go into queue again,url={},maxReqCount={},currentReqCount={}", request.getUrl(), request.getMaxReqCount(), request.getCurrentReqCount()); } else if (request.getCurrentReqCount() >= request.getMaxReqCount() && request.getMaxReqCount() > 0) { crawler.handleErrorRequest(request); } } } }