php如何模拟http头发送post?

偶滴神啊 2017-07-01 01:35:58
POST http://qq.com/ HTTP/1.1
Host: qq.com
Cookie: JSESSIONID=9D70DB1DF4A5EE6A0F051709665253C4
Connection: keep-alive
Upgrade-Insecure-Requests: 1
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
User-Agent: Mozilla/5.0 (iPhone; CPU iPhone OS 10_2 like Mac OS X) AppleWebKit/602.3.12 (KHTML, like Gecko) Mobile/14C92 MicroMessenger/6.5.9 NetType/WIFI Language/zh_CN
Referer: http://qq.com/
Accept-Language: zh-cn
Accept-Encoding: gzip, deflate
Content-Length: 3

a=b


比如向qq发送个post

如用php带http头发送呢 并且获取返回数据
...全文
241 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
傲雪星枫 2017-07-02
  • 打赏
  • 举报
回复
使用curl 例如:

<?php
function doCurl($url, $data=array(), $header=array(), $referer='', $timeout=30){

    $ch = curl_init();
    curl_setopt($ch, CURLOPT_URL, $url);
    curl_setopt($ch, CURLOPT_HTTPHEADER, $header);
    curl_setopt($ch, CURLOPT_POST, true);
    curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query($data));
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); 
    curl_setopt($ch, CURLOPT_TIMEOUT, $timeout);

    // 模拟来源
    curl_setopt($ch, CURLOPT_REFERER, $referer);

    $response = curl_exec($ch);

    if($error=curl_error($ch)){
        die($error);
    }

    curl_close($ch);

    return $response;

}

// 调用
$url = 'http://qq.com';
$data = array();

// 设置IP
$header = array(
    'Upgrade-Insecure-Requests: 1',
    'Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8',
    'User-Agent: Mozilla/5.0 (iPhone; CPU iPhone OS 10_2 like Mac OS X) AppleWebKit/602.3.12 (KHTML, like Gecko) Mobile/14C92 MicroMessenger/6.5.9 NetType/WIFI Language/zh_CN'
);

// 设置来源
$referer = 'http://qq.com/';

$response = doCurl($url, $data, $header, $referer, 5);

echo $response;
?>

21,886

社区成员

发帖
与我相关
我的任务
社区描述
从PHP安装配置,PHP入门,PHP基础到PHP应用
社区管理员
  • 基础编程社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧