diff --git a/helper/webpagetool.php b/helper/webpagetool.php index 56f07a0..4b1a6cb 100644 --- a/helper/webpagetool.php +++ b/helper/webpagetool.php @@ -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.";