通过Curl、socket、file_get_contents三种方法使用POST提交数据

转载 2011年01月10日 16:51:00

通过Curl、socket、file_get_contents三种方法使用POST提交数据

# <?php  
# /** 
# * Socket版本 
# * 使用方法: 
# * $post_string = "app=socket&version=beta"; 
# * request_by_socket('facebook.cn','/restServer.php',$post_string); 
# */ 
# function request_by_socket($remote_server,$remote_path,$post_string,$port = 80,$timeout = 30){  
#     $socket = fsockopen($remote_server,$port,$errno,$errstr,$timeout);  
#     if (!$socket) die("$errstr($errno)");  
#      
#     fwrite($socket,"POST $remote_path HTTP/1.0");  
#     fwrite($socket,"User-Agent: Socket Example");  
#     fwrite($socket,"HOST: $remote_server");  
#     fwrite($socket,"Content-type: application/x-www-form-urlencoded");  
#     fwrite($socket,"Content-length: ".strlen($post_string)+8."");  
#     fwrite($socket,"Accept:*/*");  
#     fwrite($socket,"");  
#     fwrite($socket,"mypost=$post_string");  
#     fwrite($socket,"");  
#      
#     $header = "";  
#     while ($str = trim(fgets($socket,4096))) {  
#         $header.=$str;  
#     }  
#      
#     $data = "";  
#     while (!feof($socket)) {  
#         $data .= fgets($socket,4096);  
#     }  
#      
#     return $data;  
# }  
#  
#  
# /**  
# * Curl版本  
# * 使用方法:  
# * $post_string = "app=request&version=beta";  
# * request_by_curl('http://facebook.cn/restServer.php',$post_string);  
# */  
# function request_by_curl($remote_server,$post_string){  
#     $ch = curl_init();  
#     curl_setopt($ch,CURLOPT_URL,$remote_server);  
#     curl_setopt($ch,CURLOPT_POSTFIELDS,'mypost='.$post_string);  
#     curl_setopt($ch,CURLOPT_RETURNTRANSFER,true);  
#     curl_setopt($ch,CURLOPT_USERAGENT,"Jimmy's CURL Example beta");  
#     $data = curl_exec($ch);  
#     curl_close($ch);  
#     return $data;  
# }  
# /** 
# * 其它版本 
# * 使用方法: 
# * $post_string = "app=request&version=beta"; 
# * request_by_other('http://facebook.cn/restServer.php',$post_string); 
# */ 
# function request_by_other($remote_server,$post_string){  
#     $context = array(  
#         'http'=>array( 
#             'method'=>'POST', 
#             'header'=>'Content-type: application/x-www-form-urlencoded'."". 
#                       'User-Agent : Jimmy's POST Example beta'."".  
#                       'Content-length: '.strlen($post_string)+8,  
#             'content'=>'mypost='.$post_string)  
#         );  
#     $stream_context = stream_context_create($context);  
#     $data = file_get_contents($remote_server,FALSE,$stream_context);  
#     return $data;  
# }  
#  
# ?>

 

本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/zuiaituantuan/archive/2010/10/04/5921470.aspx

PHP 下 CURL 通过 POST 提交表单失败的原因及解决方法

前几天在学习使用 CURL 时遇到一个问题:在 a.php 中以 POST 方式向 b.php 提交数据,但是 b.php 下就是无法接收到数据,而 CURL 操作又显示成功,非常诡异。后经多方查...
  • u012275531
  • u012275531
  • 2013年11月29日 11:34
  • 6408

使用curl库,以post方式向服务器发送json/字符串数据

//使用curl库,以post方式向服务器发送json数据 //json数据的组合可以参考jsoncpp库,也可以按json格式自己组合字符串 //注意事项,以下代码不可以多线程执行,如果多线程执行,...
  • u010871058
  • u010871058
  • 2017年03月17日 18:45
  • 2411

四种常见的 POST 提交数据方式

HTTP/1.1 协议规定的 HTTP 请求方法有 OPTIONS、GET、HEAD、POST、PUT、DELETE、TRACE、CONNECT 这几种。其中 POST 一般用来向服务端提交数据,...
  • a236209186
  • a236209186
  • 2016年06月22日 20:41
  • 4734

使用Curl、socket、file_get_contents三种方法POST提交数据

#
  • woshixiongjin
  • woshixiongjin
  • 2014年01月14日 18:19
  • 423

PHP利用Curl、socket、file_get_contents POST数据

/** * 其它版本 * 使用方法: * $post_string = "app=request&version=beta"; * request_by_other('http://faceb...
  • ylspirit
  • ylspirit
  • 2012年02月28日 21:55
  • 459

利用Curl、socket、file_get_contents POST数据

  • shuifa2008
  • shuifa2008
  • 2011年09月01日 18:32
  • 303

使用file_get_contents提交http post

使用file_get_contents提交http post 以前使用curl获取需要登陆内容的文章,但其实,自5.0开始,使用file_get_contents就可以完成.(前提是开启了allow...
  • chamtianjiao
  • chamtianjiao
  • 2012年03月09日 17:02
  • 2045

php 模拟浏览器 发送 post 和 get 请求(兼容curl + file_get_contents)

php 模拟浏览器 发送 post 和 get 请求(兼容curl + file_get_contents)function http_data($url,Array $data,$method='g...
  • jqqjj
  • jqqjj
  • 2015年12月08日 12:42
  • 331

socket,curl,file_get_content三种HTTP模拟表单提交的方式

了解HTTP协议,模拟表单提交 一、file_get_content模拟表单填单提交
  • hiwymm
  • hiwymm
  • 2017年04月28日 15:20
  • 528

php读取网络文件 curl, fsockopen ,file_get_contents 几个方法的效率对比

最近需要获取别人网站上的音乐数据。用了file_get_contents函数,但是总是会遇到获取失败的问题,尽管按照手册中的 例子设置了超时,可多数时候不会奏效: $config['contex...
  • dahuzix
  • dahuzix
  • 2016年03月08日 16:59
  • 398
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:通过Curl、socket、file_get_contents三种方法使用POST提交数据
举报原因:
原因补充:

(最多只允许输入30个字)