如何使用curl命令行工具模拟.php文件提交请求?

更新于
2026-09-24 17:23:24
2阅读来源:SEO基础
  • 内容介绍
  • 文章标签
  • 相关推荐

本文共计330个文字,预计阅读时间需要2分钟。

如何使用curl命令行工具模拟.php文件提交请求?

curl模拟提交.php 内容改写如下:

模拟curl方式提交GET和POST请求GET 提交示例:* GET $url@author gaoxianlei@date 2017/07/24@param string $url 地址@param array $params 参数@param string $cookie cookie

POST 提交示例:* POST $url@author gaoxianlei@date 2017/07/24@param string $url 地址@param array $params 参数@param string $cookie cookie@param boolean $raw 是否原始数据

如何使用curl命令行工具模拟.php文件提交请求?

curl模拟提交.php

/** * curl 方式模拟get,post 提交 * */ /** * get提交 * * @author gaoxianlei * @date 2017/07/24 * * @param string $url 地址 * @param array $params 参数 * @param string $cookie cookie * @param boolean $raw 是否解码json * * @return string */ private function _get_json_data($url = '', $params = [], $raw = false, $cookie = '') { $paramsString = $params ? http_build_query($params, '', '&', 2) : ''; $fullUrl = $url . '?' . $paramsString; return $this->_http_request($fullUrl, [], $raw, $cookie); } /** * post提交 * * @author gao * @date 2017/07/24 * * @param string $url 地址 * @param array $params 参数 * @param string $cookie cookie * @param boolean $raw 是否解码json * * @return string */ private function _post_json_data($url = '', $params = [], $raw = false, $cookie = '') { return $this->_http_request($url, $params, $raw, $cookie); } /** * curl 模拟提交 * * @author gao * @date 2017/07/24 * * @param string $url 访问的URL * @param array $post post数据(不填则为GET) * @param string $cookie 提交的$cookies * @param boolean $raw 是否解码json * * @return string */ private function _http_request($url, $post = [], $raw = false, $cookie = '') { //Initiate cURL request and send back the result $ch = curl_init(); if (!$post) { curl_setopt($ch, CURLOPT_HTTPHEADER, array('Content-Type: application/json')); } curl_setopt($ch, CURLOPT_URL, $url); curl_setopt($ch, CURLOPT_HEADER, false); curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false); curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 0); curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true); if ($post) { curl_setopt($ch, CURLOPT_POST, 1); curl_setopt($ch, CURLOPT_POSTFIELDS, $post); } if ($cookie) { curl_setopt($ch, CURLOPT_COOKIE, $cookie); } $result = curl_exec($ch); $code = curl_getinfo($ch, CURLINFO_HTTP_CODE); curl_close($ch); if ($code == 200) { return $raw ? json_decode($result, true) : $result; } return false; }

本文共计330个文字,预计阅读时间需要2分钟。

如何使用curl命令行工具模拟.php文件提交请求?

curl模拟提交.php 内容改写如下:

模拟curl方式提交GET和POST请求GET 提交示例:* GET $url@author gaoxianlei@date 2017/07/24@param string $url 地址@param array $params 参数@param string $cookie cookie

POST 提交示例:* POST $url@author gaoxianlei@date 2017/07/24@param string $url 地址@param array $params 参数@param string $cookie cookie@param boolean $raw 是否原始数据

如何使用curl命令行工具模拟.php文件提交请求?

curl模拟提交.php

/** * curl 方式模拟get,post 提交 * */ /** * get提交 * * @author gaoxianlei * @date 2017/07/24 * * @param string $url 地址 * @param array $params 参数 * @param string $cookie cookie * @param boolean $raw 是否解码json * * @return string */ private function _get_json_data($url = '', $params = [], $raw = false, $cookie = '') { $paramsString = $params ? http_build_query($params, '', '&', 2) : ''; $fullUrl = $url . '?' . $paramsString; return $this->_http_request($fullUrl, [], $raw, $cookie); } /** * post提交 * * @author gao * @date 2017/07/24 * * @param string $url 地址 * @param array $params 参数 * @param string $cookie cookie * @param boolean $raw 是否解码json * * @return string */ private function _post_json_data($url = '', $params = [], $raw = false, $cookie = '') { return $this->_http_request($url, $params, $raw, $cookie); } /** * curl 模拟提交 * * @author gao * @date 2017/07/24 * * @param string $url 访问的URL * @param array $post post数据(不填则为GET) * @param string $cookie 提交的$cookies * @param boolean $raw 是否解码json * * @return string */ private function _http_request($url, $post = [], $raw = false, $cookie = '') { //Initiate cURL request and send back the result $ch = curl_init(); if (!$post) { curl_setopt($ch, CURLOPT_HTTPHEADER, array('Content-Type: application/json')); } curl_setopt($ch, CURLOPT_URL, $url); curl_setopt($ch, CURLOPT_HEADER, false); curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false); curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 0); curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true); if ($post) { curl_setopt($ch, CURLOPT_POST, 1); curl_setopt($ch, CURLOPT_POSTFIELDS, $post); } if ($cookie) { curl_setopt($ch, CURLOPT_COOKIE, $cookie); } $result = curl_exec($ch); $code = curl_getinfo($ch, CURLINFO_HTTP_CODE); curl_close($ch); if ($code == 200) { return $raw ? json_decode($result, true) : $result; } return false; }