Update webpagetool.php

This commit is contained in:
Namhyeon Go 2018-11-26 18:16:57 +09:00 committed by GitHub
parent 583a02d31a
commit e83e83f88f
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -42,17 +42,11 @@ if(!function_exists("get_web_build_qs")) {
}
if(!function_exists("get_web_cmd")) {
function get_web_cmd($url, $method="get", $data=array(), $proxy="", $ua="", $ct_out=45, $t_out=45) {
function get_web_cmd($url, $method="get", $data=array(), $proxy="", $ua="", $ct_out=45, $t_out=45, $headers=array()) {
$output = "";
$cmd_fin = "";
$cmd = "";
$headers = array();
if(is_array("headers", $data)) {
$headers = $data['headers'];
unset($data['headers']);
}
if(!loadHelper("exectool")) {
set_error("Helper exectool is required");
show_errors();
@ -77,15 +71,14 @@ if(!function_exists("get_web_cmd")) {
}
if($method == "jsondata") {
$cmd = "curl -A '%s' --header 'Content-Type: application/json' --request POST --data '%s' %s";
$cmd_fin = sprintf($cmd, make_safe_argument($ua), json_encode($data), $url);
}
// process http headers
if(count($headers) > 0) {
$headers_cmd = "";
$headers["Content-Type"] = "application/json";
foreach($headers as $k=>$v) {
$cmd_fin .= sprintf(" -H '%s: %s' ", make_safe_argument($k), make_safe_argument($v));
$headers_cmd .= sprintf(" --header '%s: %s'", make_safe_argument($k), make_safe_argument($v));
}
$cmd = "curl -A '%s' " . $headers_cmd . " --request POST --data '%s' %s";
$cmd_fin = sprintf($cmd, make_safe_argument($ua), json_encode($data), $url);
}
// exec command
@ -217,15 +210,17 @@ if(!function_exists("get_web_page")) {
if(in_array("cache", $res_methods)) {
$content = get_web_cache($url, $method, $data, $proxy, $ua, $ct_out, $t_out);
} elseif(in_array("cmd", $res_methods)) {
$content = get_web_cmd($url, $res_methods[0], $data, $proxy, $ua, $ct_out, $t_out);
$content = get_web_cmd($url, "cmd", $data, $proxy, $ua, $ct_out, $t_out);
} elseif(in_array("fgc", $res_methods)) {
$content = get_web_fgc($url);
} elseif(in_array("sock", $res_methods)) {
$content = get_web_sock($url, $res_methods[0], $data, $proxy, $ua, $ct_out, $t_out);
$content = get_web_sock($url, "sock", $data, $proxy, $ua, $ct_out, $t_out);
} elseif(in_array("wget", $res_methods)) {
$content = get_web_wget($url, $res_methods[0], $data, $proxy, $ua, $ct_out, $t_out);
$content = get_web_wget($url, "wget", $data, $proxy, $ua, $ct_out, $t_out);
} elseif(in_array("jsondata", $res_methods)) {
$content = get_web_cmd($url, "jsondata", $data, $proxy, $ua, $ct_out, $t_out);
} elseif(in_array("bearer", $res_methods)) {
$content = get_web_bearer($url, $method, $data, $proxy, $ua, $ct_out, $t_out);
} else {
if(!in_array("curl", get_loaded_extensions())) {
$error_msg = "cURL extension needs to be installed.";