com.gargoylesoftware.htmlunit.util.NameValuePair类的使用及代码示例

x33g5p2x  于2022-01-25 转载在 其他  
字(15.8k)|赞(0)|评价(0)|浏览(193)

本文整理了Java中com.gargoylesoftware.htmlunit.util.NameValuePair类的一些代码示例,展示了NameValuePair类的具体用法。这些代码示例主要来源于Github/Stackoverflow/Maven等平台,是从一些精选项目中提取出来的代码,具有较强的参考意义,能在一定程度帮忙到你。NameValuePair类的具体详情如下:
包路径:com.gargoylesoftware.htmlunit.util.NameValuePair
类名称:NameValuePair

NameValuePair介绍

[英]A name/value pair.
[中]名称/值对。

代码示例

代码示例来源:origin: spring-projects/spring-framework

private List<NameValuePair> responseHeaders() {
  Collection<String> headerNames = this.response.getHeaderNames();
  List<NameValuePair> responseHeaders = new ArrayList<>(headerNames.size());
  for (String headerName : headerNames) {
    List<Object> headerValues = this.response.getHeaderValues(headerName);
    for (Object value : headerValues) {
      responseHeaders.add(new NameValuePair(headerName, String.valueOf(value)));
    }
  }
  String location = this.response.getRedirectedUrl();
  if (location != null) {
    responseHeaders.add(new NameValuePair("Location", location));
  }
  return responseHeaders;
}

代码示例来源:origin: spring-projects/spring-security

private MultiValueMap<String, String> formData(List<NameValuePair> params) {
  MultiValueMap<String, String> result = new LinkedMultiValueMap<>(params.size());
  params.forEach( pair -> result.add(pair.getName(), pair.getValue()));
  return result;
}

代码示例来源:origin: spring-projects/spring-framework

private void params(MockHttpServletRequest request, UriComponents uriComponents) {
  uriComponents.getQueryParams().forEach((name, values) -> {
    String urlDecodedName = urlDecode(name);
    values.forEach(value -> {
      value = (value != null ? urlDecode(value) : "");
      request.addParameter(urlDecodedName, value);
    });
  });
  for (NameValuePair param : this.webRequest.getRequestParameters()) {
    request.addParameter(param.getName(), param.getValue());
  }
}

代码示例来源:origin: spring-projects/spring-framework

@Test
public void buildResponseHeadersNullDomainDefaulted() throws Exception {
  Cookie cookie = new Cookie("cookieA", "valueA");
  this.response.addCookie(cookie);
  WebResponse webResponse = this.responseBuilder.build();
  List<NameValuePair> responseHeaders = webResponse.getResponseHeaders();
  assertThat(responseHeaders.size(), equalTo(1));
  NameValuePair header = responseHeaders.get(0);
  assertThat(header.getName(), equalTo("Set-Cookie"));
  assertThat(header.getValue(), equalTo("cookieA=valueA"));
}

代码示例来源:origin: jenkinsci/pipeline-model-definition-plugin

private JSONObject callStepsToJson(String jenkinsFileContent) throws IOException {
    JenkinsRule.WebClient wc = j.createWebClient();
    WebRequest req = new WebRequest(new URL(wc.getContextPath() + ModelConverterAction.PIPELINE_CONVERTER_URL + "/stepsToJson"), HttpMethod.POST);

    assertNotNull(jenkinsFileContent);

    NameValuePair pair = new NameValuePair("jenkinsfile", jenkinsFileContent);
    req.setRequestParameters(Collections.singletonList(pair));

    String rawResult = wc.getPage(req).getWebResponse().getContentAsString();
    assertNotNull(rawResult);

    return JSONObject.fromObject(rawResult);
  }
}

代码示例来源:origin: jenkinsci/jenkins-test-harness

assert !path.startsWith("/");
URL postUrl = new URL(getURL().toExternalForm() + path);
HttpURLConnection conn = (HttpURLConnection) postUrl.openConnection();
  conn.setRequestProperty("Content-Type", "application/json; charset=UTF-8");
  NameValuePair crumb = getCrumbHeaderNVP();
  conn.setRequestProperty(crumb.getName(), crumb.getValue());
    if (responseStream != null) {
      byte[] bytes = IOUtils.toByteArray(responseStream);
      webResponseData = new WebResponseData(bytes, conn.getResponseCode(), conn.getResponseMessage(), extractHeaders(conn));
    } else {
      webResponseData = new WebResponseData(new byte[0], conn.getResponseCode(), conn.getResponseMessage(), extractHeaders(conn));
  WebResponse webResponse = new WebResponse(webResponseData, postUrl, HttpMethod.POST, (System.currentTimeMillis() - startTime));

代码示例来源:origin: jenkinsci/workflow-cps-plugin

/**
 * Tests a form submitting part of snippetizer.
 *
 * @param json
 *      The form submission value from the configuration page to be tested.
 * @param responseText
 *      Expected snippet to be generated
 * @param referer
 *      needed because of {@link StaplerReferer}
 */
public void assertGenerateSnippet(@Nonnull String json, @Nonnull String responseText, @CheckForNull String referer) throws Exception {
  JenkinsRule.WebClient wc = r.createWebClient();
  WebRequest wrs = new WebRequest(new URL(r.getURL(), Snippetizer.GENERATE_URL), HttpMethod.POST);
  if (referer != null) {
    wrs.setAdditionalHeader("Referer", referer);
  }
  List<NameValuePair> params = new ArrayList<NameValuePair>();
  params.add(new NameValuePair("json", json));
  // WebClient.addCrumb *replaces* rather than *adds*:
  params.add(new NameValuePair(r.jenkins.getCrumbIssuer().getDescriptor().getCrumbRequestField(), r.jenkins.getCrumbIssuer().getCrumb(null)));
  wrs.setRequestParameters(params);
  WebResponse response = wc.getPage(wrs).getWebResponse();
  assertEquals("text/plain", response.getContentType());
  assertEquals(responseText, response.getContentAsString().trim());
}

代码示例来源:origin: occidere/MMDownloader

/**
 * HtmlUnit을 이용한 HTML 코드 파싱.
 *
 * @param eachArchiveAddress 실제 만화가 담긴 아카이브 주소
 * @return 성공 시 html 코드를 리턴
 */
private String getHtmlPageHtmlUnit(String eachArchiveAddress) throws Exception {
  /* 필수! 로그 메세지 출력 안함 -> HtmlUnit 이용시 Verbose한 로그들이 너무 많아서 다 끔 */
  java.util.logging.Logger.getLogger("com.gargoylesoftware").setLevel(Level.OFF);
  System.setProperty("org.apache.commons.logging.Log", "org.apache.commons.logging.impl.NoOpLog");
  print.info("일반 연결 시도중...\n");
  WebClient webClient = new WebClient();
  webClient.getOptions().setRedirectEnabled(true);
  WebRequest req = new WebRequest(new URL(eachArchiveAddress));
  req.setHttpMethod(HttpMethod.POST);
  req.setAdditionalHeader("User-Agent", UserAgent.getUserAgent());
  req.setAdditionalHeader("Accept-Encoding", "gzip"); //20171126 gzip 추가
  req.getRequestParameters().add(new NameValuePair("pass", PASSWORD)); //비밀번호 post 방식 전송
  HtmlPage page = webClient.getPage(req);
  //Html코드를 포함한 페이지 소스코드가 담길 스트링
  String pageSource = page.asXml();
  /** 여기도 페이지 파싱 실패 시 검증하는 코드 들어가야 됨 **/
  webClient.close();
  print.info("일반 연결 성공\n");
  return pageSource;
}

代码示例来源:origin: jenkinsci/pipeline-model-definition-plugin

String jobName = "simplePipeline";
WorkflowRun r = expect(jobName).go();
j.waitUntilNoActivity();
JenkinsRule.WebClient client = j.createWebClient();
WebRequest request = new WebRequest(new URL(client.getContextPath() + r.getUrl() + "restart/restartPipeline"));
request.setHttpMethod(HttpMethod.POST);
NameValuePair stageName = new NameValuePair("stageName", "foo");
  params.add(new NameValuePair(crumbIssuer.getDescriptor().getCrumbRequestField(), crumbIssuer.getCrumb(null)));
request.setRequestParameters(params);
Page page = client.getPage(request);
String response = page.getWebResponse().getContentAsString();
JsonNode json = JsonLoader.fromString(response);
assertEquals(json.get("status").asText(), "ok");
stageName = new NameValuePair("stageName", "foo-not");
params.add(stageName);
page = client.getPage(request);

代码示例来源:origin: net.sourceforge.htmlunit/htmlunit

final WebRequest request = response.getWebRequest();
final String scriptName = request.getUrl().toString();
final String scriptSource = response.getContentAsString();
  final List<NameValuePair> responseHeaders = new ArrayList<>(response.getResponseHeaders());
  for (int i = responseHeaders.size() - 1; i >= 0; i--) {
    if ("content-encoding".equalsIgnoreCase(responseHeaders.get(i).getName())) {
      responseHeaders.remove(i);
  final WebResponseData wrd = new WebResponseData(decompileScript.getBytes(), response.getStatusCode(),
    response.getStatusMessage(), responseHeaders);
  return new WebResponse(wrd, response.getWebRequest().getUrl(),
    response.getWebRequest().getHttpMethod(), response.getLoadTime());

代码示例来源:origin: net.sourceforge.htmlunit/htmlunit

final Charset charset = webRequest.getCharset();
final URL url = UrlUtils.encodeUrl(webRequest.getUrl(), false, charset);
URI uri = UrlUtils.toURI(url, escapeQuery(url.getQuery()));
if (getVirtualHost() != null) {
  uri = URI.create(getVirtualHost());
final HttpRequestBase httpMethod = buildHttpMethod(webRequest.getHttpMethod(), uri);
setProxy(httpMethod, webRequest);
  if (!webRequest.getRequestParameters().isEmpty()) {
    final List<NameValuePair> pairs = webRequest.getRequestParameters();
    final org.apache.http.NameValuePair[] httpClientPairs = NameValuePair.toHttpClient(pairs);
    final String query = URLEncodedUtils.format(Arrays.asList(httpClientPairs), charset);
    uri = UrlUtils.toURI(url, query);
    if (webRequest.getRequestBody() == null) {
      final List<NameValuePair> pairs = webRequest.getRequestParameters();
      final org.apache.http.NameValuePair[] httpClientPairs = NameValuePair.toHttpClient(pairs);
      final String query = URLEncodedUtils.format(Arrays.asList(httpClientPairs), charset);
      final StringEntity urlEncodedEntity = new StringEntity(query, charset);
        builder.addTextBody(pair.getName(), pair.getValue(),
            ContentType.create("text/plain", charset));

代码示例来源:origin: net.sourceforge.htmlunit/htmlunit

URL cleanUrl = webRequest.getUrl();
if (cleanUrl.getQuery() != null) {
if (cleanUrl.getRef() != null) {
String fileUrl = cleanUrl.toExternalForm();
fileUrl = URLDecoder.decode(fileUrl, UTF_8.name());
final File file = new File(fileUrl.substring(5));
  compiledHeaders.add(new NameValuePair(HttpHeader.CONTENT_TYPE, "text/html"));
  final WebResponseData responseData =
    new WebResponseData(
      TextUtil.stringToByteArray("File: " + file.getAbsolutePath(), UTF_8),
      404, "Not Found", compiledHeaders);
  return new WebResponse(responseData, webRequest, 0);
compiledHeaders.add(new NameValuePair(HttpHeader.CONTENT_TYPE, contentType));
compiledHeaders.add(new NameValuePair(HttpHeader.LAST_MODIFIED,
    DateUtils.formatDate(new Date(file.lastModified()))));
final WebResponseData responseData = new WebResponseData(content, 200, "OK", compiledHeaders);
final WebResponse webResponse = new WebResponse(responseData, webRequest, 0);
getCache().cacheIfPossible(webRequest, webResponse, null);
return webResponse;

代码示例来源:origin: net.sourceforge.jwebunit/jwebunit-htmlunit-plugin

@Override
public String getServerResponse() {
 StringBuffer result = new StringBuffer();
 WebResponse wr = wc.getCurrentWindow().getEnclosedPage()
   .getWebResponse();
 result.append(wr.getStatusCode()).append(" ").append(
   wr.getStatusMessage()).append("\n");
 result.append("Location: ").append(wr.getWebRequest().getUrl()).append("\n");
 for (NameValuePair h : wr.getResponseHeaders()) {
  result.append(h.getName()).append(": ").append(h.getValue())
    .append("\n");
 }
 result.append("\n");
 result.append(wr.getContentAsString());
 return result.toString();
}

代码示例来源:origin: org.jboss.jsfunit/jboss-jsfunit-core

public void afterRequest(WebResponse webResponse) 
{
 System.out.println("-----------Snooping HtmlUnit Response---------------------------");
 
 if (webResponse == null)
 {
   System.out.println("REQUEST THREW IOException.  Response is null.");
   System.out.println("---------------------------------------------------------------");
 }
 
 System.out.println("Response time=" + webResponse.getLoadTime() + "ms");
 System.out.println("Status code=" + webResponse.getStatusCode());
 System.out.println("Status message=" + webResponse.getStatusMessage());
 System.out.println("Content type=" + webResponse.getContentType());
 System.out.println("Content char set=" + webResponse.getContentCharset());
 System.out.println();
 System.out.println("Response Headers:");
 for (Iterator i = webResponse.getResponseHeaders().iterator(); i.hasNext();)
 {
   NameValuePair pair = (NameValuePair)i.next();
   System.out.println(pair.getName() + "=" + pair.getValue());
 }
 System.out.println();
 System.out.println("Response body:");
 System.out.println(webResponse.getContentAsString());
 System.out.println("---------------------------------------------------------------");
}

代码示例来源:origin: USCDataScience/sparkler

WebResponse response = page.getWebResponse();
boolean truncated = false;
try (InputStream stream = response.getContentAsStream()) {
  try (BoundedInputStream boundedStream = new BoundedInputStream(stream, CONTENT_LIMIT)) {
    try (ByteArrayOutputStream out = new ByteArrayOutputStream()) {
      IOUtils.copy(boundedStream, out);
      fetchedData = new FetchedData(out.toByteArray(), response.getContentType(), response.getStatusCode());
      long contentLength = page.getWebResponse().getContentLength();
      if (contentLength > 0 && contentLength < Integer.MAX_VALUE) {
        fetchedData.setContentLength((int) contentLength);
List<NameValuePair> respHeaders = page.getWebResponse().getResponseHeaders();
Map<String, List<String>> headers = new HashMap<>();
fetchedData.setHeaders(headers);
if (respHeaders != null && !respHeaders.isEmpty()){
  respHeaders.forEach(item -> {
    if (!headers.containsKey(item.getName())) {
      headers.put(item.getName(), new ArrayList<>());
    headers.get(item.getName()).add(item.getValue());
  });

代码示例来源:origin: org.jboss.jsfunit/jboss-jsfunit-core

public void beforeRequest(WebRequest webRequest) 
{
 System.out.println("-----------Snooping HtmlUnit Request---------------------------");
 System.out.println("url=" + webRequest.getUrl());
 System.out.println("method=" + webRequest.getHttpMethod());
 System.out.println("encoding=" + webRequest.getEncodingType());
 System.out.println();
 System.out.println("Additional Headers:");
 Map<String, String> addlHeaders = webRequest.getAdditionalHeaders();
 for (Iterator<String> i = addlHeaders.keySet().iterator(); i.hasNext(); )
 {
   String name = i.next();
   System.out.println(name + "=" + addlHeaders.get(name));
 }
 
 System.out.println();
 System.out.println("Request Params:");
 for (Iterator i = webRequest.getRequestParameters().iterator(); i.hasNext();)
 {
   NameValuePair pair = (NameValuePair)i.next();
   System.out.println(pair.getName() + "=" + pair.getValue());
 }
 System.out.println("---------------------------------------------------------------");
}

代码示例来源:origin: net.sourceforge.htmlunit/htmlunit

/**
   * Creates a faked WebResponse for the request with the provided content.
   * @param wr the web request for which a response should be created
   * @param content the content to place in the response
   * @param contentType the content type of the response
   * @param responseCode the HTTP code for the response
   * @param responseMessage the HTTP message for the response
   * @return a web response with the provided content
   * @throws IOException if an encoding problem occurred
   */
  protected WebResponse createWebResponse(final WebRequest wr, final String content,
      final String contentType, final int responseCode, final String responseMessage) throws IOException {
    final List<NameValuePair> headers = new ArrayList<>();
    headers.add(new NameValuePair(HttpHeader.CONTENT_TYPE_LC, contentType + "; charset=" + UTF_8));
    final byte[] body = content.getBytes(UTF_8);
    final WebResponseData wrd = new WebResponseData(body, responseCode, responseMessage, headers);
    return new WebResponse(wrd, wr.getUrl(), wr.getHttpMethod(), 0);
  }
}

代码示例来源:origin: spring-projects/spring-framework

@Test
public void buildRequestParameterMapViaWebRequestDotSetRequestParametersWithMultipleRequestParams() {
  webRequest.setRequestParameters(asList(new NameValuePair("name1", "value1"), new NameValuePair("name2", "value2")));
  MockHttpServletRequest actualRequest = requestBuilder.buildRequest(servletContext);
  assertThat(actualRequest.getParameterMap().size(), equalTo(2));
  assertThat(actualRequest.getParameter("name1"), equalTo("value1"));
  assertThat(actualRequest.getParameter("name2"), equalTo("value2"));
}

代码示例来源:origin: net.sourceforge.htmlunit/htmlunit

/**
 * Removes the entry (if exists).
 * @param name the name of the field to remove
 */
@JsxFunction(functionName = "delete", value = {FF, CHROME})
public void delete_js(final String name) {
  if (StringUtils.isEmpty(name)) {
    return;
  }
  final Iterator<NameValuePair> iter = requestParameters_.iterator();
  while (iter.hasNext()) {
    final NameValuePair pair = iter.next();
    if (name.equals(pair.getName())) {
      iter.remove();
    }
  }
}

代码示例来源:origin: net.sourceforge.htmlunit/htmlunit

/**
 * {@inheritDoc}
 */
@Override
public boolean equals(final Object object) {
  // this is overwritten to make FindBugs happy
  // and to make it clear, that we really want to have
  // the same equals semantic like our parent class
  return super.equals(object);
}

相关文章

微信公众号

最新文章

更多