PHP中的HTTP协议

发布时间:2019-08-08 发布网站:脚本宝典
脚本宝典收集整理的这篇文章主要介绍了PHP中的HTTP协议脚本宝典觉得挺不错的,现在分享给大家,也给大家做个参考。

一、HTTP协议

  • 无状态:每次请求完成就结束连接,下一次请求与上次请求没有关系。

  • 报文:HTTP交互的信息。

  • telnet模拟请求:

    // GET方式,最后回车换行
    Aston$ telnet 127.0.0.1 80
    GET /Tools/test/http.php HTTP/1.1
    Host:localhost
    
    // POST方式,最后回车换行,输入参数
    Aston$ telnet 127.0.0.1 80
    POST /Tools/Test/http.php HTTP/1.1
    Host:localhost
    Content-tyPE:application/x-www-form-urlencoded
    Content-length:20
    
    name=chenjian&age=28
  • fiddler用法:

  • 利用file_get_content来发送数据:

    $data = array(
        'name'     => 'chenjian',
        'age'     => 28
    );
    
    $postData = http_build_query($data);
    
    $opts = array(
        'http' => array(
            'host'         => "localhostrn", 
            'method'     => "POST", 
            'header'     => "Content-type:application/x-www-form-urlencodedrn" . "Content-length:".strlen($postData)."rn",
            'content'    => $postData
        );
    );
    $context = stream_context_create($opts);
    file_get_contents("http://localhost/http/index.php", false, $context);
  • socket方式:

    $data = array(
        'name'     => 'chenjian',
        'age'     => 28
    );
    $postData = http_build_query($data);
    $fp = fsockopen("localhost", 80, $errno, $errorStr, 5);
    $request = "POST http://localhost/http/socket.php HTTP/1.1rn";
    $request .= "Host:locahostrn";
    $request .= "Content-type:application/x-www-form-urlencodedrn";
    $request .= "Content-length:" . strlen($postData) . "rn";
    $request .= $postData;
    
    fwrite($fp, $request);
    while (!feof($fp)) {
        echo fgets($fp, 1024);
    }
    fclose($fp);
  • curl拓展:

    $url = "http://localhost/http/curl.php";
    $data = array(
        'name'     => 'chenjian',
        'age'     => 28
    );
    // 1. 初始化curl会话
    $ch = curl_init();
    // 2. 设置
    curl_setopt($ch, CURLOPT_URL, $url);            //提交网址
    curl_setopt($ch, CURLOPT_POST, 1);              //提交方式
    curl_setopt($ch, CURLOPT_POSTFIELDS, $data);    //提交数据
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);    //提交成功后返回数据字符串
    // 3. 执行
    $out_put = curl_exec($ch);
    // 4. 关闭会话
    curl_close($ch);
    VAR_dump($out_put);

脚本宝典总结

以上是脚本宝典为你收集整理的PHP中的HTTP协议全部内容,希望文章能够帮你解决PHP中的HTTP协议所遇到的问题。

如果觉得脚本宝典网站内容还不错,欢迎将脚本宝典推荐好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。