質問

テーマとしてポストに対するベンダのサーバーを使用PHP5.2カール.いくつかについて触れたいと思いXMLドキュメントの投稿に対するサーバーとしての読書応答:

$request = trim(file_get_contents('test.xml'));
$curlHandle = curl_init($servletURL);
curl_setopt($curlHandle, CURLOPT_POST, TRUE);
curl_setopt($curlHandle, CURLOPT_POSTFIELDS, array('XML'=>$request));
curl_setopt($curlHandle, CURLOPT_RETURNTRANSFER, TRUE);
curl_setopt($curlHandle, CURLOPT_HEADER, FALSE);  # Have also tried leaving this out
$response = curl_exec($curlHandle);

このコードは、その作品、その他のサーバに返信しますから、XMLパーサを記載:

コンテンツはprolog

私はその誤り、ここのコースは空白文字の前のXMLが、もう一つのXMLファイルそのものがない空白にtrim()するのは明らかに上げます。かったので、TCPDumpの接続が行ったコードおよびその発送されています:

POST {serverURL} HTTP/1.1
Host: {ip of server}:8080
Accept: */*
Content-Length: 921
Expect: 100-continue
Content-Type: multipart/form-data; boundry:---------------------------01e7cda3896f

---------------------------01e7cda3896f
Content-Disposition: form-data; name="XML"

[SNIP - the XML was displayed]

---------------------------01e7cda3896f--

前後で、[中略]線が見える空白の時に再生セッションには、コンピュー.これが原因となる問題の答えを見出さなければならないたいので削除し、または私を見ながりかねないと思いますのでこのサーバんに掲載。

役に立ちましたか?

解決 2

ものでエンコードの問題です。このアプリでニーズのXML www-form-urlencodedなフォルム-データです:

# This sets the encoding to multipart/form-data
curl_setopt($curlHandle, CURLOPT_POSTFIELDS, array('XML'=>$request));

# This sets it to application/x-www-form-urlencoded
curl_setopt($curlHandle, CURLOPT_POSTFIELDS, 'XML=' . urlencode($request));

他のヒント

な答えが見のfopen/fread/fcloseも非常に鈍いが閲覧で見ると、コードです。

交換可能です:

$file = 'test.xml';
$fileHandle = fopen($file, 'r');
$request = fread($fileHandle, filesize($file));
fclose($fileHandle);
$request = trim($request);

$request = trim(file_get_contents('test.xml'));

でもとにかくおか場合は、ヘッダが送信されていること、そんな問題のリモートサーバーです。に変更してみてくださいの内容をxmlファイルを使用var_dump()をチェックの正確な出力を含む文字列の長さはできるだ足りないかも)

のこ

wc -m test.xml ち帰った743文字のXMLファイルの var_dump$request わって来742文字なので何かが剥 trim() (い).

ん:

print "=====" . $request . "=====";

の開始と終了のXMLバッツまでの対=====白スペース。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top