PHP模拟POST请求,获取response内容

 1     /*
 2      * 模拟POST请求,获取response内容
 3      */
 4     protected function curl($url, $type, $header, $data) {
 5         $CURL_OPTS = array (
 6                 CURLOPT_CONNECTTIMEOUT => 10,
 7                 CURLOPT_RETURNTRANSFER => true,
 8                 CURLOPT_SSL_VERIFYPEER => false,
 9                 CURLOPT_TIMEOUT => 60,
10                 CURLOPT_USERAGENT => 'simulate submit' 
11         );
12         $opts = $CURL_OPTS;
13         $opts [CURLOPT_URL] = $url;
14         $opts [CURLOPT_CUSTOMREQUEST] = $type;
15         $header [] = 'Expect:';
16         $opts [CURLOPT_HTTPHEADER] = $header;
17         if ($type == 'POST' || $type == 'PUT') {
18             $opts [CURLOPT_POSTFIELDS] = $data;
19         }
20         
21         $ch = curl_init ();
22         curl_setopt_array ( $ch, $opts );
23         $result = curl_exec ( $ch );
24         if (curl_errno ( $ch )) {
25             die ( 'CURL error: ' . curl_error ( $ch ) );
26         }
27         curl_close ( $ch );
28         return $result;
29     }

参数: 

$header = array (
    'Content_type: application/x-www-form-urlencoded'
  );

$data="param1=qwer&param2=asdf&param3=jkl";

转载于:https://www.cnblogs.com/mahatmasmile/p/3155750.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
要从 PHP 模拟登录中获取响应头信息,您可以使用 CURL 库来发送 HTTP 请求并处理响应。以下是一个示例: ```php $username = "your_username"; $password = "your_password"; // 登录页面 URL $login_url = "https://example.com/login.php"; // 设置 CURL 选项 $curl = curl_init(); curl_setopt($curl, CURLOPT_URL, $login_url); curl_setopt($curl, CURLOPT_POST, true); curl_setopt($curl, CURLOPT_POSTFIELDS, "username=$username&password=$password"); curl_setopt($curl, CURLOPT_RETURNTRANSFER, true); curl_setopt($curl, CURLOPT_FOLLOWLOCATION, true); // 发送登录请求获取响应 $response = curl_exec($curl); // 获取响应头信息 $header_size = curl_getinfo($curl, CURLINFO_HEADER_SIZE); $header = substr($response, 0, $header_size); $headers = explode("\r\n", $header); // 输出响应头信息 print_r($headers); // 关闭 CURL curl_close($curl); ``` 在上面的代码中,您需要将 `$username` 和 `$password` 替换为您的用户名和密码,将 `$login_url` 替换为登录页面的 URL。然后,使用 CURL 发送 POST 请求,将用户名和密码作为参数传递。设置 `CURLOPT_RETURNTRANSFER` 选项以获取响应内容,设置 `CURLOPT_FOLLOWLOCATION` 选项以跟随重定向。然后,使用 `curl_getinfo()` 函数获取响应头的大小,并使用 `substr()` 函数从响应中提取响应头。最后,使用 `explode()` 函数将响应头拆分为数组,并将其存储在 `$headers` 变量中。最后,您可以使用 `print_r()` 函数输出响应头信息。 请注意,上面的示例仅适用于基本的 HTTP 认证,如果您的网站使用了更复杂的认证方式(如 OAuth、JWT 等),则需要进行更高级的处理。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值