org.apache.http.NameValuePair类的使用及代码示例

x33g5p2x  于2022-01-24 转载在 其他  
字(17.1k)|赞(0)|评价(0)|浏览(755)

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

NameValuePair介绍

[英]A simple class encapsulating an attribute/value pair.

This class comforms to the generic grammar and formatting rules outlined in the Section 2.2 and Section 3.6 of RFC 2616

2.2 Basic Rules

The following rules are used throughout this specification to describe basic parsing constructs. The US-ASCII coded character set is defined by ANSI X3.4-1986.

OCTET          =  
CHAR           =  
UPALPHA        =  
LOALPHA        =  
ALPHA          = UPALPHA | LOALPHA 
DIGIT          =  
CTL            =  
CR             =  
LF             =  
SP             =  
HT             =  
            =

Many HTTP/1.1 header field values consist of words separated by LWS or special characters. These special characters MUST be in a quoted string to be used within a parameter value (as defined in section 3.6).

token          = 1* 
separators     = "(" | ")" | "" | "@" 
| "," | ";" | ":" | "\" |  
| "/" | "[" | "]" | "?" | "=" 
| "{" | "}" | SP | HT

A string of text is parsed as a single word if it is quoted using double-quote marks.

quoted-string  = (  *(qdtext | quoted-pair )  ) 
qdtext         = >

The backslash character ("") MAY be used as a single-character quoting mechanism only within quoted-string and comment constructs.

quoted-pair    = "\" CHAR

3.6 Transfer Codings

Parameters are in the form of attribute/value pairs.

parameter               = attribute "=" value 
attribute               = token 
value                   = token | quoted-string

[中]封装属性/值对的简单类。
此类符合RFC 2616Section 2.2和{$1$}中概述的通用语法和格式规则
2.2基本规则
本规范中使用以下规则来描述基本的解析构造。US-ASCII编码字符集由ANSI X3定义。4-1986.

OCTET          =  
CHAR           =  
UPALPHA        =  
LOALPHA        =  
ALPHA          = UPALPHA | LOALPHA 
DIGIT          =  
CTL            =  
CR             =  
LF             =  
SP             =  
HT             =  
            =

许多HTTP/1.1头字段值由LWS或特殊字符分隔的单词组成。这些特殊字符必须位于带引号的字符串中,以便在参数值中使用(如第3.6节所定义)。

token          = 1* 
separators     = "(" | ")" | "" | "@" 
| "," | ";" | ":" | "\" |  
| "/" | "[" | "]" | "?" | "=" 
| "{" | "}" | SP | HT

如果使用双引号将文本字符串引用,则将其解析为单个单词。

quoted-string  = (  *(qdtext | quoted-pair )  ) 
qdtext         = >

反斜杠字符(\)只能在带引号的字符串和注释结构中用作单字符引用机制。

quoted-pair    = "\" CHAR

3.6传输编码
参数采用属性/值对的形式。

parameter               = attribute "=" value 
attribute               = token 
value                   = token | quoted-string

代码示例

代码示例来源:origin: stackoverflow.com

log.fine("Retrieving " + videoId);
List<NameValuePair> qparams = new ArrayList<NameValuePair>();
qparams.add(new BasicNameValuePair("video_id", videoId));
qparams.add(new BasicNameValuePair("fmt", "" + format));
URI uri = getUri("get_video_info", qparams);
localContext.setAttribute(ClientContext.COOKIE_STORE, cookieStore);
HttpClient httpclient = new DefaultHttpClient();
HttpGet httpget = new HttpGet(uri);
httpget.setHeader("User-Agent", userAgent);
HttpResponse response = httpclient.execute(httpget, localContext);
HttpEntity entity = response.getEntity();
if (entity != null && response.getStatusLine().getStatusCode() == 200) {
 InputStream instream = entity.getContent();
 String videoInfo = getStringFromInputStream(encoding, instream);
  String key = pair.getName();
  String val = pair.getValue();
  log.finest(key + "=" + val);
  if (key.equals("token")) {
 Reader reader = new BufferedReader(new InputStreamReader(instream, encoding));
 int n;
 while ((n = reader.read(buffer)) != -1) {

代码示例来源:origin: stackoverflow.com

String url = "http://www.example.com/something.html?one=1&two=2&three=3&three=3a";
List<NameValuePair> params = URLEncodedUtils.parse(new URI(url), "UTF-8");

for (NameValuePair param : params) {
 System.out.println(param.getName() + " : " + param.getValue());
}

代码示例来源:origin: stackoverflow.com

private String getQuery(List<NameValuePair> params) throws UnsupportedEncodingException
{
  StringBuilder result = new StringBuilder();
  boolean first = true;

  for (NameValuePair pair : params)
  {
    if (first)
      first = false;
    else
      result.append("&");

    result.append(URLEncoder.encode(pair.getName(), "UTF-8"));
    result.append("=");
    result.append(URLEncoder.encode(pair.getValue(), "UTF-8"));
  }

  return result.toString();
}

代码示例来源:origin: gocd/gocd

private long parseStartLine(UpgradeRequest request) {
  Optional<NameValuePair> startLine = URLEncodedUtils.parse(request.getRequestURI(), "UTF-8").
      stream().
      filter(pair -> "startLine".equals(pair.getName())).findFirst();
  return startLine.isPresent() ? Long.valueOf(startLine.get().getValue()) : 0L;
}

代码示例来源:origin: stackoverflow.com

else
    query.append("&");
  query.append(URLEncoder.encode(pair.getName(), "UTF-8"));
  query.append("=");
  query.append(URLEncoder.encode(pair.getValue(), "UTF-8"));
  if ((avatarName = pair.getName()).equals("avatar")) {
    avatarPath = pair.getValue();
BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(in, "UTF-8"));

代码示例来源:origin: stackoverflow.com

for (NameValuePair p : params)
        String paramString = p.getName() + "=" + URLEncoder.encode(p.getValue(),"UTF-8");
        if (combinedParams.length() > 1)
          combinedParams += "&" + paramString;
    HttpPost request = new HttpPost(url);
_header.add(new BasicNameValuePair("Content-Type","application/x-www-form-urlencoded"));
return _header;
HttpClient client = new DefaultHttpClient();
HttpResponse httpResponse;
try
  httpResponse = client.execute(request);
  responseCode = httpResponse.getStatusLine().getStatusCode();
  message = httpResponse.getStatusLine().getReasonPhrase();
  HttpEntity entity = httpResponse.getEntity();
BufferedReader reader = new BufferedReader(new InputStreamReader(is));
StringBuilder sb = new StringBuilder();
String line = null;
try
  while ((line = reader.readLine()) != null)

代码示例来源:origin: stackoverflow.com

String url = API_URL + action + "/";
  Log.d(TAG, "url is" + url);
  HttpPost httpPost = new HttpPost(url);
  if (params != null && params.size() > 0) {
    HttpEntity entity = new UrlEncodedFormEntity(params, "UTF-8");
    httpPost.setEntity(entity);
    for (NameValuePair param : params) {
      sb.append("?");
      sb.append(param.getName());
      sb.append("=");
      sb.append(param.getValue());
  throws ClientProtocolException, IOException {
String result = null;
DefaultHttpClient httpClient = new DefaultHttpClient();
  httpClient.setCookieStore(sCookieStore);
HttpResponse response = httpClient.execute(request);
BufferedReader reader = new BufferedReader(new InputStreamReader(
    response.getEntity().getContent()));
for (String s = reader.readLine(); s != null; s = reader.readLine()) {
  builder.append(s);

代码示例来源:origin: stackoverflow.com

StringBuilder result = new StringBuilder();
result.append(URLEncoder.encode(params.getKey(), "UTF-8"));
result.append("=");
result.append(URLEncoder.encode(params.getValue(), "UTF-8"));
      BufferedReader br = new BufferedReader(new InputStreamReader(conn.getInputStream()));
      while ((line = br.readLine()) != null) {
        response += line;

代码示例来源:origin: stackoverflow.com

httpPost = new HttpPost("http://localaddressportetc.../create"); // <-- I suggest you change this to "entity" since this is what is being created by the POST
nvps.add(new BasicNameValuePair("content-type", "application/json"));
httpPost.setEntity(input);
  httpPost.addHeader(h.getName(), h.getValue());
BufferedReader br = new BufferedReader(new InputStreamReader(
    (response.getEntity().getContent())));
while ((output = br.readLine()) != null) {
  System.out.println(output);

代码示例来源:origin: stackoverflow.com

httpPost = new HttpPost("https://appem.totango.com/api/v1/search/accounts/health_dist");
urlParameters.add(new BasicNameValuePair("query","{\"terms\":[{\"type\":\"totango_user_scope\",\"is_one_of\":[\"mobile+testme@totango.com\"]}],\"group_fields\":[{\"type\":\"health\"}]}"));
headers.add(new BasicNameValuePair("app-token", "1a1c626e8cdca0a80ae61b73ee0a1909941ab3d7mobile+testme@totango.com"));
headers.add(new BasicNameValuePair("Accept", "application/json, text/javascript, */*; q=0.01"));
headers.add(new BasicNameValuePair("X-Requested-With", "XMLHttpRequest"));
httpPost.setEntity(new UrlEncodedFormEntity(urlParameters));
  httpPost.addHeader(h.getName(), h.getValue());
BufferedReader br = new BufferedReader(new InputStreamReader(
    (response.getEntity().getContent())));
while ((output = br.readLine()) != null) {
  System.out.println(output);

代码示例来源:origin: stackoverflow.com

HttpClient httpclient = new DefaultHttpClient();
HttpPost httppost = new HttpPost("your url here");
  nameValuePairs.add(new BasicNameValuePair("param_1", "value_1"));
  nameValuePairs.add(new BasicNameValuePair("param_2", "ok"));
  nameValuePairs.add(new BasicNameValuePair("module", "dbgestion"));
  nameValuePairs.add(new BasicNameValuePair("pdv_id", station_id));
  httppost.setEntity(new UrlEncodedFormEntity(nameValuePairs));
  HttpResponse response = httpclient.execute(httppost);
Reader reader = new InputStreamReader(instream, charset);
      charset = param.getValue();

代码示例来源:origin: stackoverflow.com

reqEntity.addPart(p.getName(), new StringBody(p.getValue()));
HttpPost request = new HttpPost(url);
request.setEntity(reqEntity);
HttpClient client = new DefaultHttpClient();
HttpResponse httpResponse = client.execute(request);
  if (in != null) {
    try {
      in.close();
    } catch (IOException e) {
      e.printStackTrace();

代码示例来源:origin: alibaba/nacos

public static HttpResult httpPost(String url, List<String> headers, Map<String, String> paramValues, String encoding) {
  try {
    HttpPost httpost = new HttpPost(url);
    RequestConfig requestConfig = RequestConfig.custom().setConnectionRequestTimeout(5000).setConnectTimeout(5000).setSocketTimeout(5000).setRedirectsEnabled(true).setMaxRedirects(5).build();
    httpost.setConfig(requestConfig);
    List<NameValuePair> nvps = new ArrayList<NameValuePair>();
    for (Map.Entry<String, String> entry : paramValues.entrySet()) {
      nvps.add(new BasicNameValuePair(entry.getKey(), entry.getValue()));
    }
    httpost.setEntity(new UrlEncodedFormEntity(nvps, encoding));
    HttpResponse response = postClient.execute(httpost);
    HttpEntity entity = response.getEntity();
    String charset = encoding;
    if (entity.getContentType() != null) {
      HeaderElement[] headerElements = entity.getContentType().getElements();
      if (headerElements != null && headerElements.length > 0 && headerElements[0] != null &&
          headerElements[0].getParameterByName("charset") != null) {
        charset = headerElements[0].getParameterByName("charset").getValue();
      }
    }
    return new HttpResult(response.getStatusLine().getStatusCode(), IOUtils.toString(entity.getContent(), charset), Collections.<String, String>emptyMap());
  } catch (Throwable e) {
    return new HttpResult(500, e.toString(), Collections.<String, String>emptyMap());
  }
}

代码示例来源:origin: apache/cloudstack

queryString = queryString + key + "=" + URLEncoder.encode(params.get(key), "UTF-8");
  } catch (UnsupportedEncodingException e) {
    throw new ExecutionException(e.getMessage());
ResponseHandler<String> responseHandler = new BasicResponseHandler();
try {
  responseBody = s_httpclient.execute(get_request, responseHandler);
} catch (IOException e) {
  throw new ExecutionException(e.getMessage());
List<NameValuePair> nvps = new ArrayList<NameValuePair>();
for (String key : params.keySet()) {
  nvps.add(new BasicNameValuePair(key, params.get(key)));
  nvps.add(new BasicNameValuePair("key", _key));
  debug_msg = debug_msg + "param: " + nvp.getName() + ", " + nvp.getValue() + "\n";
HttpPost post_request = new HttpPost("https://" + _ip + s_apiUri);
try {
  post_request.setEntity(new UrlEncodedFormEntity(nvps, HTTP.UTF_8));
} catch (UnsupportedEncodingException e) {
  throw new ExecutionException(e.getMessage());
  responseBody = s_httpclient.execute(post_request, responseHandler);
} catch (IOException e) {
  throw new ExecutionException(e.getMessage());

代码示例来源:origin: alibaba/nacos

public static HttpResult httpPostLarge(String url, Map<String, String> headers, String content) {
  try {
    HttpClientBuilder builder = HttpClients.custom();
    builder.setUserAgent(UtilsAndCommons.SERVER_VERSION);
    builder.setConnectionTimeToLive(500, TimeUnit.MILLISECONDS);
    CloseableHttpClient httpClient = builder.build();
    HttpPost httpost = new HttpPost(url);
    for (Map.Entry<String, String> entry : headers.entrySet()) {
      httpost.setHeader(entry.getKey(), entry.getValue());
    }
    httpost.setEntity(new StringEntity(content, ContentType.create("application/json", "UTF-8")));
    HttpResponse response = httpClient.execute(httpost);
    HttpEntity entity = response.getEntity();
    HeaderElement[] headerElements = entity.getContentType().getElements();
    String charset = headerElements[0].getParameterByName("charset").getValue();
    return new HttpResult(response.getStatusLine().getStatusCode(),
        IOUtils.toString(entity.getContent(), charset), Collections.<String, String>emptyMap());
  } catch (Exception e) {
    return new HttpResult(500, e.toString(), Collections.<String, String>emptyMap());
  }
}

代码示例来源:origin: Car-eye-team/Car-eye-device

HttpEntity entity = null;
HttpClient client = new DefaultHttpClient();
client.getParams().setParameter(
    CoreConnectionPNames.CONNECTION_TIMEOUT, 40000);
client.getParams().setParameter(CoreProtocolPNames.HTTP_CONTENT_CHARSET, "UTF-8");
    sb.append('?');
    for (NameValuePair pair : params) {
      sb.append(pair.getName()).append('=')
      .append(pair.getValue()).append('&');
case METHOD_POST:
  request = new HttpPost(uri);
  if (params != null && !params.isEmpty()) {
        params,HTTP.UTF_8);
    ((HttpPost) request).setEntity(reqEntity);
HttpResponse response = client.execute(request);
if (response.getStatusLine().getStatusCode() == HttpStatus.SC_OK) {
  entity = response.getEntity();

代码示例来源:origin: opacapp/opacclient

public Document htmlPost(String url, List<NameValuePair> data)
    throws IOException {
  HttpPost httppost = new HttpPost(cleanUrl(url));
    if (nv.getName().equals("requestCount")) {
      rcf = true;
      break;
    data.add(new BasicNameValuePair("requestCount", s_requestCount + ""));
  httppost.setEntity(new UrlEncodedFormEntity(data, getDefaultEncoding()));
  HttpResponse response;
    response = http_client.execute(httppost);
  if (response.getStatusLine().getStatusCode() >= 400) {
    throw new NotReachableException(response.getStatusLine().getReasonPhrase());
  String html = convertStreamToString(response.getEntity().getContent(),
      getDefaultEncoding());
  HttpUtils.consume(response.getEntity());

代码示例来源:origin: org.wso2.carbon.appmgt/org.wso2.carbon.appmgt.mdm.restconnector

try {
  List<NameValuePair> nameValuePairs = new ArrayList<>();
  nameValuePairs.add(new BasicNameValuePair(Constants.RestConstants.GRANT_TYPE,
                       Constants.RestConstants.PASSWORD));
  nameValuePairs.add(new BasicNameValuePair(Constants.RestConstants.USERNAME,
                       remoteServer.getAuthUser()));
  nameValuePairs.add(new BasicNameValuePair(Constants.RestConstants.PASSWORD,
                       remoteServer.getAuthPass()));
  URIBuilder uriBuilder = new URIBuilder(remoteServer.getTokenApiURL());
  for (NameValuePair nameValuePair : nameValuePairs) {
    uriBuilder.addParameter(nameValuePair.getName(), nameValuePair.getValue());
  postMethod = new HttpPost(uriBuilder.build());
  postMethod.setHeader(Constants.RestConstants.AUTHORIZATION,
             Constants.RestConstants.BASIC + new String(
                 Base64.encodeBase64(
                         remoteServer.getClientSecret())
                         .getBytes())));
  postMethod.setHeader(Constants.RestConstants.CONTENT_TYPE,
             Constants.RestConstants.APPLICATION_FORM_URL_ENCODED);
} catch (URISyntaxException e) {
  response = httpClient.execute(postMethod);
  int statusCode = response.getStatusLine().getStatusCode();
  HttpEntity entity = response.getEntity();

代码示例来源:origin: pentaho/pentaho-kettle

HttpPost post = new HttpPost( uriBuilder.build() );
  post.setHeader( CONTENT_TYPE, CONTENT_TYPE_TEXT_XML );
  if ( isDebug() ) {
   logDebug( BaseMessages.getString( PKG, "HTTPPOST.Log.HeaderValue", CONTENT_TYPE, CONTENT_TYPE_TEXT_XML ) );
  post.setHeader( CONTENT_TYPE, CONTENT_TYPE_TEXT_XML + "; " + data.realEncoding );
  if ( isDebug() ) {
   logDebug( BaseMessages.getString( PKG, "HTTPPOST.Log.HeaderValue", CONTENT_TYPE, CONTENT_TYPE_TEXT_XML
  post.addHeader( data.headerParameters[ i ].getName(), data.inputRowMeta.getString( rowData,
   data.header_parameters_nrs[ i ] ) );
  if ( isDebug() ) {
   logDebug( BaseMessages.getString( PKG, "HTTPPOST.Log.HeaderValue", data.headerParameters[ i ].getName(),
    data.inputRowMeta.getString( rowData, data.header_parameters_nrs[ i ] ) ) );
  String bodyParameterName = data.bodyParameters[ i ].getName();
  String bodyParameterValue = data.inputRowMeta.getString( rowData, data.body_parameters_nrs[ i ] );
  data.bodyParameters[ i ] = new BasicNameValuePair( bodyParameterName, bodyParameterValue );
  if ( isDebug() ) {
   logDebug( BaseMessages.getString( PKG, "HTTPPOST.Log.BodyValue", bodyParameterName,
  String queryParameterName = data.queryParameters[ i ].getName();
  String queryParameterValue = data.inputRowMeta.getString( rowData, data.query_parameters_nrs[ i ] );
  data.queryParameters[ i ] = new BasicNameValuePair( queryParameterName, queryParameterValue );
  if ( isDebug() ) {
   logDebug( BaseMessages.getString( PKG, "HTTPPOST.Log.QueryValue", queryParameterName,

代码示例来源:origin: stackoverflow.com

String name = nvp.getName();
  String value = nvp.getValue();
  jsonObject.accumulate(name, value);
  Log.e("TAG", name + "=" + value);
HttpClient HC = new DefaultHttpClient();
HttpPost post = new HttpPost(url);
StringEntity se = new StringEntity(jsonObject.toString());
se.setContentType(new BasicHeader(HTTP.CONTENT_TYPE, "application/json"));
post.setEntity(se);
HttpResponse res = HC.execute(post);
HttpEntity entity = res.getEntity();
result = EntityUtils.toString(entity);
Log.e("TAG", "result:: " + result);

相关文章

微信公众号

最新文章

更多