`
only_java
  • 浏览: 112432 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

php中用fsockopen来跨站点请求

    博客分类:
  • php
阅读更多

Php最让我感觉不错的地方是这个函数fsockopen,记得以前的B2C网站就是通过这个函数实现前台和订单处理系统的交互。还有一个以curl_开头的函数,可以实现很多功能。有时间要好好研究!下面是关于fscokopen的介绍

 

1.fsockopen函数说明:

    Open Internet or Unix domain socket connection(打开套接字链接)

   Initiates a socket connection to the resource specified by target .

   fsockopen() returns a file pointer which may be used together with the other file functions (such as fgets() , fgetss() , fwrite() , fclose() , and feof() ).就是返回一个文件句柄

 

2.实例一:跨站点请求

function getblogdata($ip,$condition,$url){
    $req=$condition;
    $header .= "POST $url HTTP/1.0\r\n";
    $header .= "Content-Type: application/x-www-form-urlencoded\r\n";
    $header .= "Content-Length: " . strlen($req) . "\r\n\r\n";
    
    $fp = fsockopen ($ip,80, $errno, $errstr,30);
    if(!$fp){
       _log('--ERROR--'.$ip.' can not open');
    }else{
      while (!feof($fp)) {
       fputs ($fp, $header . $req);
       $res = fgets ($fp, 204800);
      }
     }
     fclose ($fp);

     return $res;

}

 

  使用:

         $domain='blog.m6699.com';

         $file='http://blog.m6699.com/deccm_interface.php';

 

         $condition='limit=12&count='.$usernum;
         $data17=getblogdata($domain,$condition,$file);

 

3.实例二:抓取网页

 

 

$fp = fsockopen("www.example.com", 80, $errno, $errstr, 30);
if (!$fp) {
    echo "$errstr ($errno)<br />\n";
} else {
    $out = "GET / HTTP/1.1\r\n";
    $out .= "Host: www.example.com\r\n";
    $out .= "Connection: Close\r\n\r\n";

    fwrite($fp, $out);
    while (!feof($fp)) {
        echo fgets($fp, 128);
    }
    fclose($fp);
}

 

 

4。其他功能:

  好像还可以实现HTTP下载,有知道和补充的网友欢迎留言!

分享到:
评论
2 楼 only_java 2009-03-12  
楼上的兄弟有过curl函数吗?它好像也能实现跨站点请求
1 楼 willko 2009-03-12  
呵呵~~用curl更好,支持cookie、ssl。。。

相关推荐

    fsockopen用法.txt

    ### fsockopen函数详解 在PHP中,`fsockopen`是一个非常强大的函数,用于创建一个网络连接(套接字)到指定的主机和端口。这个函数在处理网络通信时特别有用,尤其是在进行HTTP请求、FTP操作或任何需要与远程服务器...

    php使用fsockopen函数发送post,get请求获取网页内容的方法

    本文实例讲述了php使用fsockopen函数发送post,get请求获取网页内容的方法。分享给大家供大家参考。 具体实现代码如下: 复制代码 代码如下:$post =1; $url = parse_url($url); $host =’//www.jb51.net’; $path ...

    fsockopen get/post 表单及上传文件例子

    在PHP编程中,`fsockopen`函数是一个非常重要的网络通信工具,它允许开发者通过创建一个到指定主机的套接字连接来实现低级别的网络I/O操作。本示例主要探讨如何利用`fsockopen`进行GET和POST请求,以及处理文件上传...

    发送POST请求的三种方式的php类

    这里我们将详细探讨使用cURL、`file_get_contents`和fsocket三种方法来实现POST请求。 1. cURL(Client URL Library): cURL是PHP中最常用的方法,功能强大且灵活。cURL库提供了丰富的选项来定制HTTP请求,包括...

    php 异步请求.php

    php异步请求,fsockopen实现,亲测可用,分别包含get和post两个方法用于get和pos请求

    php源码 fsockopen获取网页内容实例详解

    通过fsockopen函数,我们可以向服务器发送请求,并接收服务器返回的数据。 ### PHP fsockopen 函数说明 fsockopen函数用于创建一个网络连接或Unix域套接字。函数原型如下: ```php fsockopen(string hostname, int...

    php中fsockopen用法实例

    本文将详细介绍fsockopen的基本用法,并通过实例来讲解如何创建、写入和关闭网络连接。 首先,了解fsockopen函数的基本格式非常重要。函数的参数如下: ```php resource fsockopen ( string $hostname [, int $...

    PHP构造http头发送请求.txt

    本文档将详细介绍如何使用PHP来构造HTTP头部并发送请求。 #### 二、HTTP请求的基本构成 一个典型的HTTP请求由以下部分组成: 1. **HTTP Method**:请求方法(如GET、POST等)。 2. **Request URL**:请求的目标...

    php fsockopen解决办法 php实现多线程

    在PHP中实现多线程可能并不像其他支持多线程的语言那样直接,但可以通过一些技巧来模拟并发处理,比如使用`fsockopen`或`stream_socket_client`进行异步连接。`fsockopen`是一个PHP内置函数,用于创建一个到远程主机...

    利用PHP fsockopen 模拟POST/GET传送数据的方法

    利用PHP的fsockopen函数可以模拟向其他网页或站点发送HTTP请求,具体来说,可以通过模拟POST和GET方法来传送数据。下面详细说明如何使用fsockopen函数来完成这一任务。 首先,要理解fsockopen函数是PHP中用于打开...

    基于php socket(fsockopen)的应用实例分析

    总的来说,`fsockopen`是PHP中一个强大的工具,它使得开发者可以直接操作网络连接,这对于构建网络应用程序或者需要低级别网络控制的场景非常有用。理解并熟练掌握`fsockopen`的使用,能够帮助开发者更灵活地处理...

    php自动提交表单的方法(基于fsockopen与curl)_.docx

    - 验证目标URL的正确性,避免跨站请求伪造(CSRF)攻击。 - 对敏感数据进行加密,保护用户的隐私信息。 - 使用HTTPS进行传输,确保数据在传输过程中的安全性。 - 避免在脚本中硬编码凭据,如用户名和密码,而是应该...

    php利用fsockopen GET/POST提交表单及上传文件

    虽然这种方法提供了底层控制,但通常建议使用更高级的库,如cURL或PHP的`file_get_contents`(配合`context`选项)来处理HTTP请求,因为它们提供了更多的功能和错误处理机制。在实际项目中,应根据需求和性能要求...

    浅谈php中curl、fsockopen的应用

    总结来说,cURL和fsockopen都是PHP中实现HTTP请求的方法,各有优势。cURL更适合大多数情况,因为它提供了丰富的功能和便利性;而fsockopen则适用于需要更多控制权和优化性能的场景。选择哪种方法取决于具体的需求和...

    php异步:在php中使用fsockopen curl实现类似异步处理的功能方法

    在PHP中,我们可以使用cURL的各种选项来设置请求参数,例如: ```php function _curl($url) { $ch = curl_init(); curl_setopt($ch, CURLOPT_URL, $url); curl_setopt($ch, CURLOPT_RETURNTRANSFER, false); // ...

    php_fsockopen:fsockopen是套接字包功能,除了基本的常用TCP外

    $ composer require yakeing/php_fsockopen 初始化参数 样本: $ fs = new fsockopen&#40;&#41;; $ ret = $ fs -&gt; init ( 10 , //Running time / sec (optional) tcp, //transport protocol (opti

    Requests:非常好用且可以友好托管HTTP请求的php类库.zip

    Requests提供了一致的API,并且使用cURL或fsockopen(具体取决于可用性),它还简化了发送请求,接受HEAD、GET、POST、PUT、DELETE或PATCH并且添加标头、表单数据和多个部分组成的文件。其次,该库还适用于国际域名...

    发布一个用PHP fsockopen写的HTTP下载的类

    fsockopen是PHP中的一个函数,用于打开一个到网络服务器的套接字连接,这使得开发者可以直接处理HTTP请求,而不仅仅是获取内容。在这个特定的类中,开发者可以更灵活地处理HTTP头信息,这对于某些需要分析HTTP响应头...

Global site tag (gtag.js) - Google Analytics