在php项目中发送帖子请求的方法有哪些

  介绍

这篇文章给大家介绍在php项目中发送帖子请求的方法有哪些,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。

方法一:

/* *   ,*发送帖子请求   ,* @param  string  url 美元;请求地址   ,* @param  array  post_data 美元;贴键值对数据   ,* @return 字符串   ,*/function  send_post ($ url, post_data美元),{      时间=美元才能postdata  http_build_query ($ post_data);   时间=美元才能options 阵列(   ,,,& # 39;http # 39;,=祝辞,阵列(   ,,,,,& # 39;方法# 39;,=祝辞,& # 39;文章# 39;   ,,,,,& # 39;头# 39;,=祝辞,& # 39;内容类型:应用程序/x-www-form-urlencoded& # 39;   ,,,,,& # 39;内容# 39;,=祝辞,postdata美元,   ,,,,,& # 39;超时# 39;,=祝辞,15,*,60,//,超时时间(单位:s)   ,,,)   ,,);   时间=美元才能context  stream_context_create(选项);   时间=美元才能result  file_get_contents ($ url,假的,,美元上下文);      return 才能;美元的结果;   }//使用方法   $ post_data =,阵列(   & # 39;才能用户名# 39;,=祝辞,& # 39;stclair2201& # 39;   & # 39;才能密码# 39;,=祝辞,& # 39;邯郸# 39;   );   send_post (& # 39; https://www.jb51.net& # 39;,, post_data美元);

方法二:套接字版本

& lt; php ?/* *   ,*套接字版本   ,*使用方法:   ,* $ post_string =,“程序=socket&版本=beta";   ,* request_by_socket (& # 39; chajia8.com& # 39;,, & # 39;/restServer.php& # 39;,, post_string美元);   ,*/function  request_by_socket ($ remote_server remote_path美元post_string美元,美元port =, 80美元timeout =, 30), {=美元才能socket  fsockopen (remote_server美元,美元港口,errno美元,errstr美元,美元超时);   if 才能;(! $插座),死亡(“errstr美元($ errno)“);   写入文件才能(插座,美元,“POST  remote_path 美元;HTTP/1.0“);   写入文件才能(插座,美元,“用户代理:,Socket  Example");   写入文件才能(插座,美元,“主持人:,remote_server"美元;);   写入文件才能(插座,美元,“内容类型:,应用程序/x-www-form-urlencoded");   写入文件才能(插座,美元,“内容长度:,“,只(strlen (post_string美元),+,8),只““);   写入文件才能(插座,美元,“接受:*/*“);   写入文件才能(插座,美元,““);   写入文件才能(插座,美元,“mypost=$ post_string");   写入文件才能(插座,美元,““);   时间=美元才能header “,“;   while 才能;(str 美元;=,修剪(fgets(美元插座,4096))),{   ,,,header 美元。=,str美元;   ,,}      时间=美元才能data “,“;   while 才能;(! feof(插座)美元),{   ,,,data 美元。=,fgets($插座,4096);   ,,}      return 才能;$数据;   }   祝辞;

方法三:Curl版本

& lt; php ?/* *   ,*卷版本   ,*使用方法:   ,* $ post_string =,“程序=request&版本=beta";   ,* request_by_curl (& # 39; https://www.jb51.net/restServer.php& # 39;,, 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,, & # 39; mypost=& # 39;,只post_string美元);   curl_setopt才能(ch,美元,CURLOPT_RETURNTRANSFER,,真的);   curl_setopt才能(ch,美元,CURLOPT_USERAGENT,,“jb51.net& # 39; s  CURL  Example  beta");   时间=美元才能data  curl_exec (ch);   curl_close才能(ch);      return 才能;$数据;   }   祝辞;

下面是其他网友的方法:

class 请求{   public 才能;static  function 职位($ url, post_data 美元;=,& # 39;& # 39;,,timeout 美元;=,5){//卷发   ,,,ch 美元;=,curl_init ();   ,,,curl_setopt  (CURLOPT_URL, ch,美元,美元url);   ,,,curl_setopt  (ch美元,CURLOPT_POST,, 1);   ,,,if ($ post_data  !=, & # 39; & # 39;) {   ,,,,,curl_setopt (CURLOPT_POSTFIELDS, ch,美元,美元post_data);   ,,,}   ,,,curl_setopt  (ch美元,CURLOPT_RETURNTRANSFER,, 1),,   ,,,curl_setopt  (CURLOPT_CONNECTTIMEOUT, ch,美元,美元超时);   ,,,curl_setopt (ch美元,CURLOPT_HEADER,,假);   ,,,file_contents 美元;=,curl_exec (ch);   ,,,curl_close (ch);   ,,,return  file_contents美元;   ,,}   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null

在php项目中发送帖子请求的方法有哪些