本文实例讲述了php以post形式发送xml的方法。分享给大家供大家参考。具体方法如下:
方法一,使用curl:
$xml_data = <xml>...</xml>"; $url = 'http://www.xxxx.com'; $header[] = "Content-type: text/xml";//定义content-type为xml curl_setopt($ch, CURLOPT_URL, $url); curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); curl_setopt($ch, CURLOPT_HTTPHEADER, $header); curl_setopt($ch, CURLOPT_POST, 1); curl_setopt($ch, CURLOPT_POSTFIELDS, $xml_data); $response = curl_exec($ch); if(curl_errno($ch)) { print curl_error($ch); } curl_close($ch);
方法二,使用fsockopen:
$fp = fsockopen($server_ip, 80); fputs($fp, "POST $path HTTP/1.0\r\n"); fputs($fp, "Host: $server\r\n"); fputs($fp, "Content-Type: text/xml\r\n"); fputs($fp, "Content-Length: $contentLength\r\n"); fputs($fp, "Connection: close\r\n"); fputs($fp, "\r\n"); // all headers sent fputs($fp, $xml_data); $result = ''; while (!feof($fp)) { $result .= fgets($fp, 128); } return $result;
PS:这里再为大家提供几款关于xml操作的在线工具供大家参考使用:
在线XML/JSON互相转换工具:
http://tools.jb51.net/code/xmljson
在线格式化XML/在线压缩XML:
http://tools.jb51.net/code/xmlformat
XML在线压缩/格式化工具:
http://tools.jb51.net/code/xml_format_compress
希望本文所述对大家的PHP程序设计有所帮助。
问题内容: 我需要发送这个XML 到SMS网关服务。该服务侦听HTTP POST请求。XML必须嵌入POST请求的BODY中。 我使用的是PHP和CodeIgniter框架,但是我总共使用的是PHP n00b,因此理想情况下,我需要一份详尽的指南,但是任何朝着正确方向的指针都将不胜感激。 问题答案: 您可以使用cURL库发布数据:http : //www.php.net/curl postfiel
我使用PHP CURL发送POSTFIELD,但我得到错误415不支持的媒体类型这是我的代码: 我收到错误信息 HTTP/1.1 415不支持的媒体类型日期:周三,01月2018 18:19:00格林尼治标准时间服务器:Apache缓存控制:无缓存缓存控制:无存储Pragma:无缓存内容长度: 903过期:周四,01月1970 00:00:00格林尼治标准时间设置-Cookie: WMONID=R
我想将json对象发送到服务器,并将其改装为RequestBody 这是我的改装对象 这是我的改造界面: 并创建RequestBody,如下所示: 但此请求将json作为字符串而不是json对象发送 那么我如何以jsonObejct的形式发送呢? 注意:如果我使用@Body作为json对象发送,但在中,我不能将@Body与@MultiPart一起使用!
问题内容: data = { ‘ids’: [12, 3, 4, 5, 6 , …] } urllib2.urlopen("http://abc.com/api/posts/create”,urllib.urlencode(data)) 我想发送POST请求,但是其中一个字段应该是数字列表。我怎样才能做到这一点 ?(JSON?) 问题答案: 如果您的服务器期望POST请求为json,则您需要添加标
本文向大家介绍php邮件发送的两种方式,包括了php邮件发送的两种方式的使用技巧和注意事项,需要的朋友参考一下 这篇文章研究的主要内容就是使用PHP来发送电子邮件,总结为以下两种方法: 一、使用PHP内置的mail()函数 结果就直接报错,如下: Warning: mail() [function.mail]: Failed to connect to mailserver at "localho
我想发送一个函数作为参数。当我在另一个函数中调用它“this”和其他类似“HttpClient”的函数时,“urlBase”是未定义的。 我在互联网上搜索并找到了关于bind()属性的信息,但如果现在定义了“this”,其他属性仍然没有定义。所以我把所有需要的属性都放在bind()函数中,但对我来说很糟糕。。。 这是我的服务功能,它确实工作得很好。 这是我想给它另一个函数作为参数的函数: 以及之前