首页 » PHP教程 » phpputset办法技巧_PHPcUrl模拟HTTP的PUTPATCH请求

phpputset办法技巧_PHPcUrl模拟HTTP的PUTPATCH请求

访客 2024-11-13 0

扫一扫用手机浏览

文章目录 [+]

cUrl可以仿照GET,POST这类常见的HTTP要求,相信你该当也有打仗利用过。
我这边由于创造域名是在Godaddy上注册的,而Godaddy又有供应API接口,这样仿照就更方便了。
只是我创造它有些接口是指定要利用PUTA,PATCH这类HTTP要求,那cUrl能仿照这类要求吗?答案是肯定的。

curl_setopt($ch,CURLOPT_CUSTOMREQUEST, 'PUT');

phpputset办法技巧_PHPcUrl模拟HTTP的PUTPATCH请求

设置cUrl的这个选项就可以指定仿照PUT或PATCH要求。
那如何发送数据?实在是和仿照POST要求一样。

phpputset办法技巧_PHPcUrl模拟HTTP的PUTPATCH请求
(图片来自网络侵删)

curl_setopt($ch, CURLOPT_POSTFIELDS, $data); //设置要求体,提交数据包

但是,仅仅把稳到这两个参数会让你陷入灾害的,我就由于这个摧残浪费蹂躏了几个小时,乃至末了要放弃才找到办理方案。
由于做事端常日会提示没收到数据,或者收到的数据格式不对,实在也是没收到数据。
除了cUrl的上面两个参数,一定要设置要求的header参数Content-Length的长度值,一定要设置要求的header参数Content-Length的长度值,一定要设置要求的header参数Content-Length的长度值。
主要的事情说三遍,由于google的时候创造好多人碰到这个问题。

$header[]= 'Content-Length: ' . strlen($fields);

发送数据给API接口或其它做事端脚本,可以指天命据的格式,常日有两种,json字符串或url编码的字符串,这里你要在header里设置Content-Type的值为application/json或application/x-www-form-urlencoded,如

$header[]='Content-Type: application/json',

$header[]='Content-Type: application/x-www-form-urlencoded',

下面是完全的代码示例:

$domain='abcdomain.com';

$url = 'https://api.godaddy.com/v1/domains/' . $domain . '/records/A/abcde/';

$k='dKNtgjZoA3jV_QKArw1cC5pwxgagQnMPPHn';

$s='QKAv7vJ64YjRs7CiEHVRFi';

$header = array(

'Authorization: sso-key ' . $k . ':' . $s,

'Content-Type: application/json',

);

$fields = array( \"大众data\"大众 => \"大众8.8.8.8\公众, \公众ttl\"大众 => 600);

$fields = json_encode($fields);

//$fields = http_build_query($fields);

$header[]= 'Content-Length: ' . strlen($fields);

$res = request($url, $header, 'PUT');

function request($url, $header=array(), $method='GET',$fields=array()) {

$ch =curl_init();

if ($method == 'POST') {

curl_setopt($ch, CURLOPT_POST,true);

curl_setopt($ch, CURLOPT_POSTFIELDS, $fields);

} elseif($method == 'PATCH') {

curl_setopt($ch, CURLOPT_CUSTOMREQUEST, 'PATCH');

curl_setopt($ch, CURLOPT_POSTFIELDS, $fields);

} elseif($method == 'PUT') {

curl_setopt($ch, CURLOPT_CUSTOMREQUEST, 'PUT');

// curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query($fields));

// curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode($fields));

curl_setopt($ch, CURLOPT_POSTFIELDS, $fields);

}

curl_setopt($ch, CURLOPT_URL, $url);

curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 2);

curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE);

curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);

curl_setopt($ch, CURLOPT_HTTPHEADER, $header);

curl_setopt($ch, CURLOPT_HEADER, false);

$content = curl_exec($ch);

curl_close($ch);

return $content;

}

如有缺点,欢迎示正,本文原创,如须要转载,请注明来路,感激!

标签:

相关文章

易语言盒子,开启编程新世界的钥匙

随着互联网的飞速发展,编程已成为新时代必备的技能。而在这个编程领域,易语言盒子以其独特的魅力,吸引了无数编程爱好者的目光。本文将带...

PHP教程 2024-12-28 阅读0 评论0

大连IT学校,培育未来科技人才的摇篮

随着科技的飞速发展,信息技术行业已成为我国经济增长的重要推动力。大连作为我国重要的沿海开放城市,拥有众多优秀的IT学校,为我国培养...

PHP教程 2024-12-28 阅读0 评论0

易语言滚动框,技术革新下的互动体验升级

随着互联网技术的飞速发展,用户对软件的交互体验提出了更高的要求。在这个背景下,易语言滚动框应运而生,以其独特的功能设计和人性化的操...

PHP教程 2024-12-28 阅读0 评论0

天津IT培训,助力未来人才腾飞的新引擎

随着信息技术的飞速发展,我国对IT人才的需求日益增长。天津,这座充满活力的北方城市,也成为了众多IT培训机构的聚集地。在这里,众多...

PHP教程 2024-12-28 阅读0 评论0

太原IT活动,科技盛宴,创新未来

随着科技的飞速发展,信息技术(IT)已经成为推动社会进步的重要力量。在我国,太原作为一座历史悠久的城市,近年来在IT领域的发展也日...

PHP教程 2024-12-28 阅读0 评论0

头脑风暴,激发创新潜能的智慧碰撞

创新是推动社会发展的重要动力,而头脑风暴作为一种激发创新潜能的集体智慧碰撞方式,越来越受到人们的关注。本文将围绕头脑风暴这一主题,...

PHP教程 2024-12-28 阅读0 评论0