解析curl提交GET,POST,Cookie的简单方法

 更新时间:2013年06月29日 11:00:35   作者:  
本篇文章是对curl提交GET,POST,Cookie的简单方法进行了详细的分析介绍,需要的朋友参考下
复制代码 代码如下:

<?php
$get_data = array (
    "get1"=> "get1",
    "get2" => "get2",
    "get3" => "get3"
);
$curl = curl_init();
curl_setopt($curl, CURLOPT_URL, 'http://test.test.com/test.php?'.http_build_query($get_data));
curl_setopt($curl, CURLOPT_USERAGENT, 'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.97 Safari/537.11');
curl_setopt($curl, CURLOPT_HEADER, false);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
curl_setopt($curl, CURLOPT_FOLLOWLOCATION, true);
$post_data = array (
    "p1" => "test1",
    "p2" => "test2",
    "p3" => "test3"
);
curl_setopt($curl, CURLOPT_POST, true);
//["CONTENT_TYPE"]=> string(70) "multipart/form-data; boundary=------077a996f5afe"
//要发送文件,在文件名前面加上@前缀并使用完整路径。
//使用数组提供post数据时,CURL组件大概是为了兼容@filename这种上传文件的写法,默认把content_type设为了multipart/form-data。
//虽然对于大多数web服务器并没有影响,但是还是有少部分服务器不兼容。
curl_setopt($curl, CURLOPT_POSTFIELDS, $post_data);
//["CONTENT_TYPE"]=> string(33) "application/x-www-form-urlencoded"
//curl_setopt($curl, CURLOPT_POSTFIELDS, http_build_query($post_data));
//在没有需要上传文件的情况下,尽量对post提交的数据进行http_build_query,然后发送出去,能实现更好的兼容性,更小的请求数据包。
$cookies = array(
 'c1'=>'v1',
 'c2'=>'v2',
 'c3'=>'v3',
);
$cookies_string = '';
foreach($cookies as $name=>$value){
 $cookies_string .= $name.'='.$value.';';
}
curl_setopt($curl, CURLOPT_COOKIE, $cookies_string);
$result = curl_exec($curl);
curl_close($curl);
var_dump($result);
exit;

相关文章

  • PHP中常见文本文件操作总结

    PHP中常见文本文件操作总结

    在PHP中,我们可以使用一些内置的函数来进行文本文件操作,本文主要为大家详细介绍了一些常见的文本文件操作,有需要的小伙伴可以参考一下
    2023-12-12
  • PHP动态柱状图实现方法

    PHP动态柱状图实现方法

    这篇文章主要介绍了PHP动态柱状图实现方法,实例分析了php结合HTML元素实现动态柱状图的技巧,非常具有实用价值,需要的朋友可以参考下
    2015-03-03
  • PHP操作MySQL的mysql_fetch_* 函数的常见用法教程

    PHP操作MySQL的mysql_fetch_* 函数的常见用法教程

    这篇文章主要介绍了PHP中操作MySQL的mysql_fetch函数的常见用法教程,文中提到了其下fetch_array和mysql_fetch_row以及mysql_fetch_object函数的使用,需要的朋友可以参考下
    2015-12-12
  • 解析在PHP中使用mysqli扩展库对mysql的操作

    解析在PHP中使用mysqli扩展库对mysql的操作

    本篇文章是对在PHP中使用mysqli扩展库对mysql的操作进行了详细的分析介绍,需要的朋友参考下
    2013-07-07
  • php中将时间差转换为字符串提示的实现代码

    php中将时间差转换为字符串提示的实现代码

    通过传入数据库中存储的文章发表时的UNIX时间戳,来转化为例如 几分钟前,几小时前,几天前 这样的提示。
    2011-08-08
  • PHP HTML代码串 截取实现代码

    PHP HTML代码串 截取实现代码

    将一段文字截取一定的物理长度显示,注意,要截取的不是字符串的字节数,UFT-8 的编码中文字符是3个字节或者4个字节的,而显示的时候中文会占两个字符的长度,英文字符只占一个,全角的时候又有不同。
    2009-06-06
  • php中$_REQUEST、$_POST、$_GET的区别和联系小结

    php中$_REQUEST、$_POST、$_GET的区别和联系小结

    php中有$_request与$_post、$_get用于接受表单数据,当时他们有何种区别,什么时候用那种最好。
    2011-11-11
  • PHP HTML代码串截取代码

    PHP HTML代码串截取代码

    需求:将一段文字截取一定的物理长度显示,注意,要截取的不是字符串的字节数,UFT-8 的编码中文字符是3个字节或者4个字节的,而显示的时候中文会占两个字符的长度,英文字符只占一个,全角的时候又有不同。
    2008-12-12
  • php获得客户端浏览器名称及版本的方法(基于ECShop函数)

    php获得客户端浏览器名称及版本的方法(基于ECShop函数)

    这篇文章主要介绍了php获得客户端浏览器名称及版本的方法,基于ECShop函数get_user_browser实现该功能,非常具有实用价值,需要的朋友可以参考下
    2015-12-12
  • drupal 代码实现URL重写

    drupal 代码实现URL重写

    开启了url_alter后,将实现两个HOOK,hook_url_inbound_alter与hook_url_outbound_alter,作用是重写URL,第三方URL重写模块都需要实现它。
    2011-05-05

最新评论