zoukankan      html  css  js  c++  java
  • 使用php模拟post的几种方法

    <?php
    function file_get_contents_post($url,$post){
    $options=array(
    'http'=>array(
    'method'=>'POST',
    //'content'=>'name=caiknife&email=caiknife@gmail.com',
    'content'=>http_build_query($post),
    ),
    );

    $result=file_get_contents($url,false,stream_context_create($options));

    return$result;
    }

    $data=file_get_contents_post("http://www.a.com/post/post.php",array('name'=>'caiknife','email'=>'caiknife@gmail.com'));




    function curl_post($url,$post){
    $options=array(
    CURLOPT_RETURNTRANSFER=>true,
    CURLOPT_HEADER=>false,
    CURLOPT_POST=>true,
    CURLOPT_POSTFIELDS=>$post,
    );

    $ch=curl_init($url);
    curl_setopt_array($ch,$options);
    $result=curl_exec($ch);
    curl_close($ch);
    return$result;
    }

    $data=curl_post("http://www.a.com/post/post.php",array('name'=>'caiknife','email'=>'caiknife@gmail.com'));





    function socket_post($url,$post){
    $urls=parse_url($url);
    if(!isset($urls['port'])){
    $urls['port']=80;
    }

    $fp=fsockopen($urls['host'],$urls['port'],$errno,$errstr);
    if(!$fp){
    echo"$errno,$errstr";
    exit();
    }

    $post=http_build_query($post);
    $length=strlen($post);
    $header=<<<HEADER
    POST{$urls['path']} HTTP/1.1
    Host:{$urls['host']}
    Content-Type:application/x-www-form-urlencoded
    Content-Length:{$length}
    Connection:close

    {$post}
    HEADER;

    fwrite($fp,$header);
    $result='';
    while(!feof($fp)){
    //receivetheresultsoftherequest
    $result.=fread($fp,512);
    }
    $result=explode(" ",$result,2);
    return$result[1];
    }

    $data=socket_post("http://www.a.com/post/post.php",array('name'=>'caiknife','email'=>'caiknife@gmail.com'));



    ?>

    【源码最能说明问题,源码是csdn的一篇博文里的:http://blog.csdn.net/caiknife/article/details/8796505】

  • 相关阅读:
    python学习笔记(29)-操作excel
    python学习笔记(28)-unittest单元测试-执行用例
    python学习笔记(27)-unittest单元测试-测试用例
    python学习笔记(26)-request模块
    python学习笔记(25)-继承
    c++ 流基本概念
    友元函数、类和运算符重载
    c++中的引用
    c++重点知识点
    指针和结构体
  • 原文地址:https://www.cnblogs.com/vanwoos/p/4604918.html
Copyright © 2011-2022 走看看