java判断http的简单介绍

博主:adminadmin 2023-01-08 05:54:07 770

今天给各位分享java判断http的知识,其中也会对进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!

本文目录一览:

java如何判断http链接是否是具体的文件

需要根据链接来获取文件类型,将内容正确存储。

这个链接指向的文件就是个jpg文件。但是后来发现有诸如

;origin=1webSite=1type=1的链接,这招就不灵了。后来谷歌百度了一下也没发现解决办法。后来机缘巧合在Java Network Programming上找到了一个办法:

URLConnection class provides two static methods to help programs figure out the MIME type of some data; you can use these if the content type just isn't available or if you have reason to believe that the content type you're given isn't correct。

就是说URLConnection提供了两种方法可以猜测(根据实测结果,这个猜测是相当的准)数据的MIME类型。

第一个是:

public static String guessContentTypeFromName(String name)

这个方法根据URL文件部分的后缀名来判断类型,跟之前我的方法一样。这个不能解决上面那个问题。

第二个是:

public static String guessContentTypeFromStream(InputStream in)

这个方法是根据流的前面几个字节来判断类型,这个就不需要文件后缀名了,完全可以解决上面那个问题。

Java开发中怎么向URL地址发送Http请求,根据返回的状态码判断成功失败?

数据库服务器上不一定开了80端口呀,个人感觉判断网络是否通,还是使用Ping命令的好,如下:

String ip = "127.0.0.1"; // 使用正则,从Url中解析出数据库IP地址

System.out.println("ip = " + ip);

Process process = Runtime.getRuntime().exec("ping " + ip); // 执行Ping命令

DataInputStream dis = new DataInputStream(process.getInputStream());

byte[] buffer = new byte[1024 * 1000];

int len = dis.read(buffer);

StringBuffer sb = new StringBuffer();

while (len 0) {

sb.append(new String(buffer, 0, len));

len = dis.read(buffer);

}

System.out.println("ping result = " + sb.toString());

// 从Ping的结果中,解析出丢失率

Pattern p = Pattern.compile("(?=\\().*%");

Matcher m = p.matcher(sb.toString());

boolean flag = true; // 网络是否通

if (m.find()) {

String str = m.group();

System.out.println("lost = " + str);

// 如果丢失率等于100%,则说明网络不通

flag = str.equals("100%") ? false : true;

}

System.out.println("the net is " + flag);

java 获取url中是http还是https

先调用 java.net.URL.toURI() 转成 URI

再获取 java.net.URI.getScheme()

示例:

    public static void main(String[] args) throws MalformedURLException,URISyntaxException{

        URL url = new URL("");

        URI uri = url.toURI();

        System.out.println(uri.getScheme());

    }

结果:

https

java用jpcap怎么识别出http和https的数据包

暂时的解决方法:

在抓到的tcp数据包的data字段里判断是否包含"HTTP"字符串。

不足:

1.与wireshark对比后发现,wireshark有的tcp包中data字段有HTTP也识别为tcp而非http(不知道wireshark是怎么解析的)。

2.感觉会漏判,不够准确。

继续寻找更好的解法,期待解答!

同一项目,javascript获取的http数据另一个类的java可以用来判断吗

JavaScript的数据

JavaScript的数据分为两种:简单数据和复杂数据。简单数据包含number,string,boolean,undefined和null这五种;复杂数据只有一种即object。

万能的typeof

我们先测试一下通过typeof来获取简单数据类型。什么也别说了,上代码是王道:

01 // 获取变量obj的数据类型

02 function getType(obj) {

03 return typeof (obj);

04 }

05 /*常量获取类型*/

06 alert(getType(1)); //number

07 alert(getType("jeff wong")); //string

08 alert(getType(true)); //boolean

09 alert(getType(undefined)); //undefined

10 alert(getType(null)); //object

11 /*变量获取类型*/

12 var num = 1;

13 var str = "jeff wong";

14 var flag = true;

15 var hell = undefined;

16 var none = null;

17 alert(getType(num)); //number

18 alert(getType(str)); //string

19 alert(getType(flag)); //boolean

20 alert(getType(hell)); //undefined

21 alert(getType(none)); //object

正如你所看到的那样,通过typeof运算符,前面四个简单数据类型完全在意料之中,但是typeof null却返回object。应该注意到,null是null类型的唯一值,但null并不是object,具有null值的变量也并非object,所以直接通过typeof,并不能正确得到null类型。 要正确获取简单数据类型,只要在getType的地方加点改进就可以了:

1 function getType(obj) {

2 return (obj === null) ? "null" : typeof (obj);

3 }

接着来试一下复杂数据类型object:

01 function Cat() {

02 }

03 Cat.prototype.CatchMouse = function () {

04 //do some thing

05 }

06 // 获取变量obj的数据类型

07 function getType(obj) {

08 return (obj === null) ? "null" : typeof (obj);

09 }

10 var obj = new Object();

11 alert(getType(obj)); //object

12 var func = new Function();

13 alert(getType(func)); //function

14 var str = new String("jeff wong");

15 alert(getType(str)); //object

16 var num = new Number(10);

17 alert(getType(num)); //object

18 var time = new Date();

19 alert(getType(time)); //object

20 var arr = new Array();

21 alert(getType(arr)); //object

22 var reg = new RegExp();

23 alert(getType(reg)); //object

24 var garfield = new Cat();

25 alert(getType(garfield)); //object

我们看到,除了Function(请注意大小写)返回了function,不管是javascript的常见内置对象Object,String或者Date等等,还是自定义function,通过typeof返回的无一例外,通通都是object。但是对于自定义function,我们更愿意得到它的“庐山真面目”(示例中即Cat,而非object),而显然,typeof不具备这种转换处理能力。

constructor,想大声说爱你

既然万能的typeof也有无解的时候,那么我们怎么判断一个变量是否是自定义的function实例呢?我们知道,javascript的所有对象都有一个constructor属性,这个属性可以帮我们判断object数据类型,尤其是对自定义function同样适用:

1 var obj = "jeff wong";

2 alert(obj.constructor == String); //true

3 obj = new Cat();

4 alert(obj.constructor == Cat); //true

但是,下面的代码您也可以测试一下:

01 //alert(1.constructor); //数字常量 出错 数字常量无constructor

02 var num = 1;

03 alert(num.constructor == Number); //true

04 alert("jeff wong".constructor == String); //true

05 var str = "jeff wong";

06 alert(str.constructor == String); //true

07 var obj= null;

08 alert(obj.constructor); //null没有constructor属性

09 none = undefined;

10 alert(obj.constructor); //undefined没有constructor属性

实验证明,数字型常量,null和undefined都没有constructor属性。

下面的代码或许还能有点启发和挖掘作用:

01 function Animal() {

02 }

03 function Cat() {

04 }

05 Cat.prototype = new Animal();

06 Cat.prototype.CatchMouse = function () {

07 //do some thing

08 }

09 var obj = new Cat();

10 alert(obj.constructor == Cat); //false ??

11 alert(obj.constructor == Animal); //true 理解

原来对于原型链继承的情况,constuctor也不那么好使了。那怎么办?

直观的instanceof

嘿嘿,有请instanceof隆重登场。看它的命名,好像是获取某一个对象的实例,也不知这样理解对不对?不管怎样,我们还是动手改进上面的代码测试一下先:

01 function Animal() {

02 }

03 function Cat() {

04 }

05 Cat.prototype = new Animal();

06 Cat.prototype.CatchMouse = function () {

07 //do some thing

08 }

09 var garfield = new Cat();

10 alert(garfield instanceof Cat); //true 毫无疑问

11 alert(garfield instanceof Animal); //true 可以理解

java request 判断是否是https

从客户端发送请求,可以通过ajax进行判断,当发送请求时,通过XMLHttpRequest对象的实例的status属性返回编码的值进行判断,如404表示没有知道页面或是客户端url错误,5开头表示服务器端错误,200表示成功,等等。

通过业务逻辑发送请求可以通过httpClient发送请求,可以通过类似上面的返回编码进行判断,然后做不同的处理。

java判断http的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于、java判断http的信息别忘了在本站进行查找喔。