b2科目四模拟试题多少题驾考考爆了怎么补救
b2科目四模拟试题多少题 驾考考爆了怎么补救

urldecoder.decode_linux urldecode_urlencode的作用(4)

电脑杂谈  发布时间:2017-04-08 01:02:56  来源:网络整理

这才是你真正想得到的输出:

pg=q&kl=XX&stype=stext&q=%2B%22JavaI%2FO%22&search.x=38&search.y=3

例子7-9是一个QueryString类。在一个java对象中,它使用了类URLEncoder来编码连续的属性名和属性对,这个java对象被用来发送数据到服务器端的程序。

当你在创建一个QueryString对象时,你可以把查询string中的第一个属性对传递给类QueryString的构造函数,得到初始string。如果要继续加入后面的属性对,就应调用方法add(),它也能接受两个string作为参数,能对它们进行编码。方法getQuery( )返回一个属性对被逐个编码后得到的整个string。

Example 7-9. -The QueryString class

<!--
Code highlighting produced by Actipro CodeHighlighter (freeware)

http://.CodeHighlighter.com/

-->  package com.macfaq.net;
  import java.net.URLEncoder;
  import java.io.UnsupportedEncodingException;
  public class QueryString {
  private StringBuffer query = new StringBuffer();
  public QueryString(String name, String value) {
  encode(name, value);
  }
  public synchronized void add(String name, String value) {
  query.append('&');
  encode(name, value);
  }
  private synchronized void encode(String name, String value) {
  try {
  query.append(URLEncoder.encode(name, "UTF-8"));
  query.append('=');
  query.append(URLEncoder.encode(value, "UTF-8"));
  } catch (UnsupportedEncodingException ex) {
  throw new RuntimeException("Broken VM does not support UTF-8");
  }
  }
  public String getQuery() {
  return query.toString();
  }
  public String toString() {
  return getQuery();
  }
  }

利用这个类,现在我们就能对前面那个例子中的string进行编码了:

<!--
Code highlighting produced by Actipro CodeHighlighter (freeware)

http://.CodeHighlighter.com/

-->  QueryString qs = new QueryString("pg", "q");
  qs.add("kl", "XX");
  qs.add("stype", "stext");
  qs.add("q", ""Java I/O"");
  qs.add("search.x", "38");
  qs.add("search.y", "3");
  String url = "http://.altavista.com/cgi-bin/query?"  qs;
  System.out.println(url);


本文来自电脑杂谈,转载请注明本文网址:
http://www.pc-fly.com/a/jisuanjixue/article-40100-4.html

相关阅读
    发表评论  请自觉遵守互联网相关的政策法规,严禁发布、暴力、反动的言论

    每日福利
    热点图片
    拼命载入中...