[英]Using PHP to post an XML buffer to an HTTPS page
我正在使用php 5.2.9,我有一個XML緩沖區,需要將其發布到一些HTTPS URL。
正確的做法是什么? 我在網上看到各種示例,但似乎沒有一個對我有用:有些定義cURL標頭的方法如下:
$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),
);
$ page將請求保存在服務器上,而$ buffer包含XML數據。
實際的$ buffer作為值發送為:
curl_setopt($curl, CURLOPT_POSTFIELDS, $buffer);
但是我不知道它如何工作,因為CURLOPT_POSTFIELDS期望它的值是數組而不是緩沖區。
然后,我看到了幾種配置呼叫的SSL方面的方法:
curl_setopt($curl, CURLOPT_SSLVERSION,3);
curl_setopt($ curl,CURLOPT_SSL_VERIFYPEER,false); curl_setopt($ curl,CURLOPT_SSL_VERIFYHOST,2); 所有這些都需要嗎? 我看到了還設置了以下內容的示例:
curl_setopt($curl, CURLOPT_HTTPAUTH, CURLAUTH_BASIC );
curl_setopt($curl, CURLOPT_USERPWD, "username:password");
有人可以發布一個完整的工作示例,該示例說明將cURL發布到XML URL的XML緩沖區需要執行的操作嗎?
提前致謝
幾點:
CURLOPT_CUSTOMREQUEST
。 $buffer
讀取,然后使用fopen
並提供CURLOPT_INFILE
選項(當然,如果XML在磁盤上,則可以使用fopen
直接打開它),或者更簡單地,您可以定義一個CURLOPT_READFUNCTION
回調。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.