php http请求的三种方法.docxVIP

  1. 1、本文档共3页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
php http请求的三种方法

php http请求的三种方法方法一:利用php的socket编程来直接给接口发送数据来模拟post的操作。建立两个文件post.php,getpost.phppost.php内容如下:?php$flag = 0;$post = ”;$errno = ”;$errstr = ”;//要post的数据$argv = array(‘var1′=’abc’,‘var2′=’how are you , my friend??’);//构造要post的字符串foreach ($argv as $key=$value) {if ($flag!=0) {$post .= “”;$flag = 1;}$post.= $key.”=”; $post.= urlencode($value);$flag = 1;}$length = strlen($post);//创建socket连接$fp = fsockopen(“localhost”,81,$errno,$errstr,10) or exit($errstr.”—”.$errno);//构造post请求的头$header = “POST /flandy/getpost.php HTTP/1.1rn”;$header .= “Host:rn”;$header .= “Referer:/flandy/post.phprn”;$header .= “Content-Type: application/x-www-form-urlencodedrn”;$header .= “Content-Length: “.$length.”rn”;$header .= “Connection: Closernrn”;//添加post的字符串$header .= $post.”rn”;//发送post的数据fputs($fp,$header);$inheader = 1;while (!feof($fp)) {$line = fgets($fp,1024); //去除请求包的头只显示页面的返回数据if ($inheader ($line == “n” || $line == “rn”)) {$inheader = 0;}if ($inheader == 0) {echo $line;}}fclose($fp);?getpost.php的内容如下?phpecho “this is the data posted”;echo “pre”;print_r($_REQUEST);echo “/pre”;?结果输出:this is the data postedArray( [var1] = abc [var2] = how are you , my friend??)以上代码在本机81端口下已经通过测试。方法二:使用PHP的curl扩展或HttpClient.class.php类,这两个非常类似,下面简单的列出curl的实现代码。两个文件post2.php和getpost2.phppost2.php的内容如下:?php$psecode = ’NDE005’;$website = ’’;$amt = 1;$pwd = 123456;$ch = curl_init();$curl_url = “http://localhost:81/flandy/getpost2.php?web=” . $website .“pwd=” . $pwd . “action=checkpseid=” . $psecode .“amt=” . $amt;curl_setopt($ch, CURLOPT_URL, $curl_url);curl_setopt($ch, CURLOPT_POST, 1);curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);//不直接输出,返回到变量$curl_result = curl_exec($ch);$result = explode(‘,’, $curl_result);curl_close($ch);print_r($result);?getpost2.php的内容如下:?phpecho “returndatabr”;echo “pre”;print_r($_REQUEST);echo “/pre”;?结果输出:Array ( [0] = returndataArray( [web] = ’wwwbaiducom’ [pwd] = 123456 [action] = check [pseid] = ’NDE005’ [amt] = 1))方法三:这个要借助第三方类库HttpClient可以到这里下载:/httpclient/<?

您可能关注的文档

文档评论(0)

yan698698 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档