利用PHP发送POST数据包

林继 PHP 技术 7,118 共写了49个字 (2009-01-05 0:04:26) 没有评论 打印 扫描二维码 百度已收录

这些代码是不起作用的,只是作为参考而已。

  1. <!--这次项目使用的是国外收费的短信网关 http://www.smscentral.com.au/pricing/default.asp  --> 
  2. <?<b style="color:black;background-color:#ffff66">php</b>  
  3. $flag = 0; //要post的数据 
  4. $argv = array('netuser'=>'A0004', 'netpwd'=>'A0004','IpPack'=>1234); 
  5. //构造要post的字符串 
  6. foreach ($argv as $key=>$value) { 
  7. if ($flag!=0) { 
  8. $params .= "&"; 
  9. $flag = 1; 
  10. } 
  11. $params.= $key."="; $params.= urlencode($value); 
  12. $flag = 1; 
  13. } 
  14. $length = strlen($params);//参数长度 
  15. //创建socket连接 
  16. $fp = fsockopen("192.168.0.195",8100,$errno,$errstr,10) or exit($errstr."--->".$errno); //构造post请求的头 
  17. $header = "POST /log.<b style="color:black;background-color:#ffff66">php</b> HTTP/1.1rn"; 
  18. $header .= "Host:1192.168.0.195:8100rn"; 
  19. $header .= "Content-Type: application/x-www-form-urlencodedrn"; 
  20. $header .= "Content-Length: ".$length."rn"; 
  21. $header .= "Connection: Closernrn"; 
  22. //添加post的字符串 
  23. $header .= $params."rn"; 
  24. //发送post的数据 
  25. fputs($fp,$header); 
  26. $inheader = 1; 
  27. while (!feof($fp)) { 
  28. $line = fgets($fp,1024); //去除请求包的头只显示页面的返回数据 
  29. if ($inheader && ($line == "n" || $line == "rn")) {... 
  30. [codes] 
  31.  
  32. <b style="color:black;background-color:#ffff66">PHP</b>中解析包含中文的XML数据技巧 
  33.  
  34. [codes=<b style="color:black;background-color:#ffff66">php</b>] 
  35. <?<b style="color:black;background-color:#ffff66">php</b> 
  36. $file = "1.xml"; 
  37. $databuffer = array();//解析后的XML数组 
  38. $temp = "";//缓存XML结点名 
  39. function startElement($parser, $name, $attribs) 
  40. { 
  41. global $temp; 
  42. $temp = $name ;//缓存XML结点名 
  43. } 
  44. function endElement($parser, $name) 
  45. { 
  46.  
  47. } 
  48.  
  49. function characterData($parser, $data) 
  50. { 
  51. global $databuffer; 
  52. global $temp; 
  53. $databuffer["$temp"]=utf8_decode($data);//将解码后的数据存入数组 
  54. } 
  55.  
  56. $xml_parser = xml_parser_create('UTF-8');//设置编码格式 
  57. xml_parser_set_option($xml_parser, XML_OPTION_CASE_FOLDING, true); 
  58. xml_parser_set_option($xml_parser, XML_OPTION_TARGET_ENCODING, 'UTF-8');  
  59. xml_set_element_handler($xml_parser, "startElement", "endElement"); 
  60. xml_set_character_data_handler($xml_parser, "characterData"); 
  61. if (!($fp = fopen($file, "r"))) { 
  62. die("could not open XML input"); 
  63. } 
  64. while ($data = utf8_encode(fread($fp, 4096))) {//读入XML数据,并对其编码 
  65. if (!xml_parse($xml_parser, $data, feof($fp))) { 
  66. die(sprintf("XML error: %s at line %d", 
  67. xml_error_string(xml_get_error_code($xml_parser)), 
  68. xml_get_current_line_number($xml_parser))); 
  69. } 
  70. } 
  71. xml_parser_free($xml_parser); 
  72.  
  73. ?>

历史上的今天

1月
5

如果觉得我的文章对您有用,请随意赞赏。您的支持将鼓励我继续创作!

发表评论

电子邮件地址不会被公开。 必填项已用*标注

< >