java获取请求域名(php获取请求的域名)
本文目录一览:
- 1、java request 如何取到发送请求的地址是什么
- 2、Java请求一个URL。获取网站返回的数据。
- 3、Java用sun.misc.BASE64Decoder获取域名,域用户名的字符串,但字符串异常
- 4、java中getAddress()可以获取主机的ip的地址但能否获得主机的域名呢
- 5、如何在Java代码里面获得用户是通过哪个域名访问过来的
- 6、java filter 如何中获取请求地址?
java request 如何取到发送请求的地址是什么
request对象通过以下方法来获取请求路径,如下所示:
String getServerName():获取服务器名,localhost;
String getServerPort():获取服务器端口号,8080;
String getContextPath():获取项目名,/Example;
String getServletPath():获取Servlet路径,/AServlet;
String getQueryString():获取参数部分,即问号后面的部分:username=zhangsan
String getRequestURI():获取请求URI,等于项目名+Servlet路径:/Example/AServlet
String getRequestURL():获取请求URL,等于不包含参数的整个请求路径: 。
Java请求一个URL。获取网站返回的数据。
public static String SendGET(String url,String param){
String result="";//访问返回结果
BufferedReader read=null;//读取访问结果
try {
//创建url
URL realurl=new URL(url+"?"+param);
//打开连接
URLConnection connection=realurl.openConnection();
// 设置通用的请求属性
connection.setRequestProperty("accept", "*/*");
connection.setRequestProperty("connection", "Keep-Alive");
connection.setRequestProperty("user-agent",
"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1;SV1)");
//建立连接
connection.connect();
// 获取所有响应头字段
MapString, ListString map = connection.getHeaderFields();
// 遍历所有的响应头字段,获取到cookies等
for (String key : map.keySet()) {
System.out.println(key + "---" + map.get(key));
}
// 定义 BufferedReader输入流来读取URL的响应
read = new BufferedReader(new InputStreamReader(
connection.getInputStream(),"UTF-8"));
String line;//循环读取
while ((line = read.readLine()) != null) {
result += line;
}
} catch (IOException e) {
e.printStackTrace();
}finally{
if(read!=null){//关闭流
try {
read.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
return result;
}
Java用sun.misc.BASE64Decoder获取域名,域用户名的字符串,但字符串异常
很有可能你得到的是“全角”字符串,现在很多服务器为了防止垃圾邮件而把人名邮箱都处理过了,很多年前(我在2001年就发现了) whois.com 就已经这么做了,而我们中国人的 cnnic.net 就看起来落伍了(到现在都没有做到防垃圾功能),比如邮箱换成全角或直接换成用一个图片显示整个邮箱,也有用多个图片分别拼出邮箱中的每个字母来,反正这个符号本身不是字符而是更原始的一个“符号”。当你得到一个全角字符时显示出来的效果就是“看起来很宽”,因为在程序看来它不是 ASCII 字母而是一个相当于汉字的符号。不过我们可以为全角字母准备一个字典来翻译一下。
从人的概念或业务来讲,很多数据本身是给“人” “看”的,这个信息被处理的方式是仅限于通过“眼睛”,因此我们应该杜绝程序能自动处理它们,就好像我们的登录验证码一样,这种程序设计是很合理的办法,既能防止垃圾邮件,又能防止不法分子批量收集数据做其它的难以预料的事情。
java中getAddress()可以获取主机的ip的地址但能否获得主机的域名呢
这个是不行的,你只能获得ip, 而域名是由DNS服务器维护的,只不过跟你的ip做了一个映射
如何在Java代码里面获得用户是通过哪个域名访问过来的
String user = System.getProperty("user.name");System.out.println(user);Java本地程序可以取得用户名,域名不清楚。 JSP是不行的,因为JSP本质上是在服务端运行的程序,上述语句只能取得服务端用户名。
java filter 如何中获取请求地址?
当我们访问index.jsp/时,其实并不是我们浏览器真正访问到了服务器上的index.jsp 文件,而是先由代理服务器去访问index.jsp。
代理服务器再将访问到的结果返回给我们的浏览器,因为是代理服务器去访问index.jsp的。
所以index.jsp中通过 request.getRemoteAddr()的方法获取的IP实际上是代理服务器的地址,并不是客户端的IP地址。
于是可得出获得客户端真实IP地址 的方法:
public class Myfilter implements Filter {
public void destroy() {
}
private HttpServletRequest request;
private HttpServletResponse response;
public void doFilter(ServletRequest arg0, ServletResponse arg1, FilterChain arg2) throws IOException, ServletException {
request = (HttpServletRequest) arg0;
response = (HttpServletResponse) arg1;
System.out.println(request.getRequestURI());
System.out.println("===ff===="+request.getQueryString());
if("1".equals(request.getRequestURI().substring(("/"+request.getContextPath()).length()))){
request.getRequestDispatcher("/my.jsp").forward(request, response);
return;
}
arg2.doFilter(request, arg1);
}
public void init(FilterConfig arg0) throws ServletException {
}
}
发表评论
暂时没有评论,来抢沙发吧~