首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用PHP将XML缓冲区发布到HTTPS页面

使用PHP将XML缓冲区发布到HTTPS页面
EN

Stack Overflow用户
提问于 2010-08-22 22:52:18
回答 1查看 512关注 0票数 0

我使用php 5.2.9,我有一个XML缓冲区,我需要发布到一些HTTPS URL。

这样做的正确方法是什么?我在网上看到了各种各样的例子,似乎没有一个对我有效:一些定义cURL头的方式如下:

代码语言:javascript
复制
$headers = array(
        "POST " . $page . " HTTP/1.0",
        "Content-type: text/xml;charset=\"utf-8\"",
        "Accept: text/xml",
        "Cache-Control: no-cache",
        "Pragma: no-cache",
        "SOAPAction: \"run\"",
        "Content-length: ".strlen($buffer),
    );

其中XML包含服务器上的请求,$buffer包含$page数据。

实际的$buffer作为值被发送为:

代码语言:javascript
复制
curl_setopt($curl, CURLOPT_POSTFIELDS, $buffer);

但我不明白这是如何工作的,因为CURLOPT_POSTFIELDS希望它的值是一个数组,而不是一个缓冲区。

然后,我看到了配置调用的SSL方面的几种方法:

代码语言:javascript
复制
 curl_setopt($curl, CURLOPT_SSLVERSION,3);

curl_setopt($curl,CURLOPT_SSL_VERIFYPEER,false);curl_setopt($curl,CURLOPT_SSL_VERIFYHOST,2);这些都需要吗?我看到了一些示例,其中也设置了以下内容:

代码语言:javascript
复制
curl_setopt($curl, CURLOPT_HTTPAUTH, CURLAUTH_BASIC );
curl_setopt($curl, CURLOPT_USERPWD, "username:password"); 

有人能发布一个完整的工作示例,解释使用cURL将XML buffer发布到HTTP URL需要做些什么吗?

提前感谢

EN

回答 1

Stack Overflow用户

发布于 2010-08-22 23:00:42

以下是几点:

  • 请不要将请求方法与其他头部一起指定。使用CURLOPT_CUSTOMREQUEST
  • 发送数据有两种选择。您可以实现一个从$buffer读取的流包装,然后使用fopen打开它并将其作为CURLOPT_INFILE选项提供(当然,如果XML在磁盘上,您可以直接使用fopen打开它),或者,更简单地说,您可以定义一个CURLOPT_READFUNCTION验证对等部分,只有当您想要检查服务器证书的有效性时才需要(您应该这样做)。如果服务器需要基本身份验证,则必须使用
  • 基本身份验证。只有你才能知道。
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/3541885

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档